diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryConfig.java index af7b9d7e60..2abb7c2255 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryConfig.java @@ -53,6 +53,16 @@ public interface KourendLibraryConfig extends Config return true; } + @ConfigItem( + keyName = "hideVarlamoreEnvoy", + name = "Hide Varlamore Envoy", + description = "Whether to hide Varlamore Envoy, as it is only required in the Depths of Despair quest, and is never asked for." + ) + default boolean hideVarlamoreEnvoy() + { + return false; + } + @ConfigItem( keyName = "showTutorialOverlay", name = "Show tutorial overlay", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryOverlay.java index 2af0381076..d54fc448f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryOverlay.java @@ -125,6 +125,12 @@ class KourendLibraryOverlay extends Overlay book = possible.iterator().next(); bookIsKnown = true; } + + if (book == Book.VARLAMORE_ENVOY && config.hideVarlamoreEnvoy()) + { + continue; + } + Color color = bookIsKnown ? (book == library.getCustomerBook() ? Color.GREEN : Color.ORANGE) : Color.WHITE; // Render the poly on the floor diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPanel.java index 90900667f1..f65f0c7a63 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPanel.java @@ -54,8 +54,8 @@ class KourendLibraryPanel extends PluginPanel private static final ImageIcon RESET_ICON; private static final ImageIcon RESET_CLICK_ICON; - @Inject - private Library library; + private final KourendLibraryConfig config; + private final Library library; private final HashMap bookPanels = new HashMap<>(); @@ -66,6 +66,15 @@ class KourendLibraryPanel extends PluginPanel RESET_CLICK_ICON = new ImageIcon(ImageUtil.alphaOffset(resetIcon, -100)); } + @Inject + KourendLibraryPanel(KourendLibraryConfig config, Library library) + { + super(); + + this.config = config; + this.library = library; + } + void init() { setLayout(new BorderLayout(0, 5)); @@ -80,6 +89,7 @@ class KourendLibraryPanel extends PluginPanel c.gridy = 0; Stream.of(Book.values()) .filter(b -> !b.isDarkManuscript()) + .filter(b -> !config.hideVarlamoreEnvoy() || b != Book.VARLAMORE_ENVOY) .sorted(Comparator.comparing(Book::getShortName)) .forEach(b -> { @@ -156,4 +166,11 @@ class KourendLibraryPanel extends PluginPanel } }); } + + void reload() + { + bookPanels.clear(); + removeAll(); + init(); + } } \ No newline at end of file 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 dbc19fdf63..030b7d9252 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 @@ -158,6 +158,11 @@ public class KourendLibraryPlugin extends Plugin return; } + if (ev.getKey().equals("hideVarlamoreEnvoy")) + { + panel.reload(); + } + SwingUtilities.invokeLater(() -> { if (!config.hideButton())