Jump to content

Get and save sprite snippet


Recommended Posts

Posted (edited)
public class FetchSprites {

    private static String path = "";

    public static File getSprite(String item) {
        item = Character.toUpperCase(item.charAt(0)) + item.toLowerCase().substring(1);
        if (!Files.exists(Paths.get(path + item + ".png"))) {
            fetchSprite(item);
        }
        return new File(path + item + ".png");
    }


    private static void fetchSprite(String item) {
        item = Character.toUpperCase(item.charAt(0)) + item.toLowerCase().substring(1);
        String itemNoSpaces = item.replace(" ","_");
        try {
            final URL url = new URL("http://oldschoolrunescape.wikia.com/wiki/" + itemNoSpaces.toLowerCase());
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                if (line.contains("/" + itemNoSpaces + ".png")) {
                    int start = line.indexOf("<a href=") + 9;
                    int name = line.indexOf(itemNoSpaces + ".png",start);
                    int end = name + item.length() + 4;
                    URL imageUrl = new URL(line.substring(start,end));
                    BufferedImage image = ImageIO.read(imageUrl);
                    ImageIO.write(image,"png",new File(path + item + ".png"));
                    break;
                }
            }
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

This will check if the sprite is already cached, if not, it will cache the sprite and return the file(path).

Improvements are welcome.

 

Edited by The Undefeated
  • Boge 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...