The Undefeated Posted November 11, 2017 Posted November 11, 2017 (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 November 11, 2017 by The Undefeated 1
Lemons Posted November 11, 2017 Posted November 11, 2017 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 1
The Undefeated Posted November 11, 2017 Author Posted November 11, 2017 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?
Lemons Posted November 11, 2017 Posted November 11, 2017 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.
HeyImJamie Posted November 11, 2017 Posted November 11, 2017 So this is how you put items into GUI's Nice release.
The Undefeated Posted November 11, 2017 Author Posted November 11, 2017 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.
sonda Posted November 11, 2017 Posted November 11, 2017 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!
The Undefeated Posted November 11, 2017 Author Posted November 11, 2017 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.