diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java index 8f88d433c1..759272950b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java @@ -24,14 +24,13 @@ */ package net.runelite.client.plugins.kourendlibrary; -import java.awt.image.BufferedImage; -import java.io.IOException; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import javax.imageio.ImageIO; import lombok.Getter; import net.runelite.api.ItemID; +import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.game.ItemManager; public enum Book { @@ -77,7 +76,7 @@ public enum Book return Collections.unmodifiableMap(byId); } - private static final Map buildByName() + private static Map buildByName() { HashMap byName = new HashMap<>(); for (Book b : Book.values()) @@ -110,7 +109,7 @@ public enum Book private final String shortName; @Getter - private final BufferedImage icon; + private AsyncBufferedImage icon; @Getter private final boolean isDarkManuscript; @@ -121,7 +120,6 @@ public enum Book this.isDarkManuscript = false; this.shortName = shortName; this.name = name; - this.icon = getImage(Integer.toString(id)); } Book(int id) @@ -130,21 +128,13 @@ public enum Book this.isDarkManuscript = true; this.name = "Dark Manuscript"; this.shortName = "Dark Manuscript"; - this.icon = getImage(Integer.toString(id)); } - private static BufferedImage getImage(String name) + static void fillImages(ItemManager itemManager) { - try + for (Book b : values()) { - synchronized (ImageIO.class) - { - return ImageIO.read(Book.class.getResourceAsStream("items/" + name + ".png")); - } - } - catch (IOException | IllegalArgumentException e) - { - throw new RuntimeException("Cannot load book " + name, e); + b.icon = itemManager.getImage(b.item); } } -} +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/BookPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/BookPanel.java index a5d1c0db53..b819731a03 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/BookPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/BookPanel.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.kourendlibrary; import java.awt.Color; import javax.swing.GroupLayout; -import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import net.runelite.client.ui.FontManager; @@ -40,7 +39,8 @@ class BookPanel extends JPanel GroupLayout layout = new GroupLayout(this); this.setLayout(layout); - JLabel image = new JLabel(new ImageIcon(b.getIcon())); + JLabel image = new JLabel(); + b.getIcon().addTo(image); JLabel name = new JLabel(b.getShortName()); location.setFont(FontManager.getRunescapeSmallFont()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java index 5096e2cd22..7395add2f8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java @@ -42,6 +42,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; +import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.NavigationButton; @@ -68,6 +69,9 @@ public class KourendLibraryPlugin extends Plugin @Inject private KourendLibraryOverlay overlay; + @Inject + private ItemManager itemManager; + private KourendLibraryPanel panel; private NavigationButton navButton; @@ -77,6 +81,8 @@ public class KourendLibraryPlugin extends Plugin @Override protected void startUp() throws Exception { + Book.fillImages(itemManager); + panel = injector.getInstance(KourendLibraryPanel.class); panel.init(); diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13514.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13514.png deleted file mode 100644 index fd432311a5..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13514.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13515.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13515.png deleted file mode 100644 index 65279b24b8..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13515.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13516.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13516.png deleted file mode 100644 index 272c806e73..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13516.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13517.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13517.png deleted file mode 100644 index 79ea1d2ba6..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13517.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13518.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13518.png deleted file mode 100644 index e955d7ae82..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13518.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13519.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13519.png deleted file mode 100644 index e2afb3a60e..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13519.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13520.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13520.png deleted file mode 100644 index 5f60351a10..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13520.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13521.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13521.png deleted file mode 100644 index f21f84d0d3..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13521.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13522.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13522.png deleted file mode 100644 index aecc61a062..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13522.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13523.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13523.png deleted file mode 100644 index 8afc530245..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13523.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13524.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13524.png deleted file mode 100644 index a0c2a1085a..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13524.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13525.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13525.png deleted file mode 100644 index 583c4d1200..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13525.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13526.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13526.png deleted file mode 100644 index 98389e8964..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13526.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13527.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13527.png deleted file mode 100644 index cf652a98b5..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13527.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13528.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13528.png deleted file mode 100644 index f5625c5ea8..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13528.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13529.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13529.png deleted file mode 100644 index 738b4c3a3d..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13529.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13530.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13530.png deleted file mode 100644 index 058ccef5e1..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13530.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13531.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13531.png deleted file mode 100644 index 9d61342efa..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13531.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13532.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13532.png deleted file mode 100644 index 516b12fb2a..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13532.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13533.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13533.png deleted file mode 100644 index cf652a98b5..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13533.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13534.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13534.png deleted file mode 100644 index 40479929f3..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13534.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13535.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13535.png deleted file mode 100644 index e646c21655..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13535.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13536.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13536.png deleted file mode 100644 index a72d1236f1..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13536.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13537.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13537.png deleted file mode 100644 index b0a0f6d890..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/13537.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/19637.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/19637.png deleted file mode 100644 index d60bcbdcab..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/19637.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/21756.png b/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/21756.png deleted file mode 100644 index 5021db2a7d..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/kourendlibrary/items/21756.png and /dev/null differ