November 11, 20178 yr 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 November 11, 20178 yr by The Undefeated
November 11, 20178 yr If you'd like to simplify this, I host the item images in 32x32 pngs. http://basketti.club/441.png above url is for noted iron ore: otherwise great solution
November 11, 20178 yr Author 16 minutes ago, Lemons said: If you'd like to simplify this, I host the item images in 32x32 pngs. http://basketti.club/441.png above url is for noted iron ore: otherwise great solution Oh that looks nice. What about untradeables?
November 11, 20178 yr 2 minutes ago, The Undefeated said: Oh that looks nice. What about untradeables? Should have all the items, though this is from an older revision (forget which, I got the dump from rune-server) so newer items might be missing.
November 11, 20178 yr Author 11 hours ago, Lemons said: Should have all the items, though this is from an older revision (forget which, I got the dump from rune-server) so newer items might be missing. Hmm, I'll stick to Wiki just to be sure.
November 11, 20178 yr Definitely going to use your your images if that’s okay, I’ve been trying to print screen and copy paste into mspaint, and tediously zoom in and try to cut it out lol!
November 11, 20178 yr Author 48 minutes ago, sonda said: Definitely going to use your your images if that’s okay, I’ve been trying to print screen and copy paste into mspaint, and tediously zoom in and try to cut it out lol! Of course you can them, the pictures are loaded from oldschool wiki.
Create an account or sign in to comment