From ae23301a22bf7208e9cd825ef74e74823355aff3 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 12 May 2021 16:13:53 -0400 Subject: [PATCH] item charges: add toggle for guthix rest Since guthix rest are not visibly different, but potions are, there are requests to restore the old behavior of having guthix rest on but potions off --- .../plugins/itemcharges/ItemChargeConfig.java | 12 +++++ .../itemcharges/ItemChargeOverlay.java | 47 ++----------------- .../plugins/itemcharges/ItemChargePlugin.java | 2 +- .../plugins/itemcharges/ItemChargeType.java | 7 +-- .../plugins/itemcharges/ItemWithCharge.java | 8 ++-- 5 files changed, 25 insertions(+), 51 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java index dfdb592b43..82af2d77d3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java @@ -403,4 +403,16 @@ public interface ItemChargeConfig extends Config { return true; } + + @ConfigItem( + keyName = "showGuthixRestDoses", + name = "Guthix Rest Doses", + description = "Show Guthix Rest doses", + position = 29, + section = chargesSection + ) + default boolean showGuthixRestDoses() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeOverlay.java index 39f081c4e5..6bba477561 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeOverlay.java @@ -31,18 +31,6 @@ import java.awt.Point; import java.awt.Rectangle; import javax.inject.Inject; import net.runelite.api.widgets.WidgetItem; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.ABYSSAL_BRACELET; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.AMULET_OF_BOUNTY; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.AMULET_OF_CHEMISTRY; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.BELLOWS; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.FRUIT_BASKET; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.IMPBOX; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.POTION; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.SACK; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.TELEPORT; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERCAN; -import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERSKIN; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.WidgetItemOverlay; import net.runelite.client.ui.overlay.components.TextComponent; @@ -64,18 +52,11 @@ class ItemChargeOverlay extends WidgetItemOverlay @Override public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem widgetItem) { - if (!displayOverlay()) - { - return; - } - - graphics.setFont(FontManager.getRunescapeSmallFont()); - int charges; ItemWithConfig itemWithConfig = ItemWithConfig.findItem(itemId); if (itemWithConfig != null) { - if (!itemWithConfig.getType().getEnabled().apply(config)) + if (!itemWithConfig.getType().getEnabled().test(config)) { return; } @@ -91,18 +72,7 @@ class ItemChargeOverlay extends WidgetItemOverlay } ItemChargeType type = chargeItem.getType(); - if ((type == TELEPORT && !config.showTeleportCharges()) - || (type == FUNGICIDE_SPRAY && !config.showFungicideCharges()) - || (type == IMPBOX && !config.showImpCharges()) - || (type == WATERCAN && !config.showWateringCanCharges()) - || (type == WATERSKIN && !config.showWaterskinCharges()) - || (type == BELLOWS && !config.showBellowCharges()) - || (type == FRUIT_BASKET && !config.showBasketCharges()) - || (type == SACK && !config.showSackCharges()) - || (type == ABYSSAL_BRACELET && !config.showAbyssalBraceletCharges()) - || (type == AMULET_OF_CHEMISTRY && !config.showAmuletOfChemistryCharges()) - || (type == AMULET_OF_BOUNTY && !config.showAmuletOfBountyCharges()) - || (type == POTION && !config.showPotionDoseCount())) + if (!type.getEnabled().test(config)) { return; } @@ -110,6 +80,8 @@ class ItemChargeOverlay extends WidgetItemOverlay charges = chargeItem.getCharges(); } + graphics.setFont(FontManager.getRunescapeSmallFont()); + final Rectangle bounds = widgetItem.getCanvasBounds(); final TextComponent textComponent = new TextComponent(); textComponent.setPosition(new Point(bounds.x - 1, bounds.y + 15)); @@ -117,15 +89,4 @@ class ItemChargeOverlay extends WidgetItemOverlay textComponent.setColor(itemChargePlugin.getColor(charges)); textComponent.render(graphics); } - - private boolean displayOverlay() - { - return config.showTeleportCharges() || config.showDodgyCount() || config.showFungicideCharges() - || config.showImpCharges() || config.showWateringCanCharges() || config.showWaterskinCharges() - || config.showBellowCharges() || config.showBasketCharges() || config.showSackCharges() - || config.showAbyssalBraceletCharges() || config.showExplorerRingCharges() || config.showRingOfForgingCount() - || config.showAmuletOfChemistryCharges() || config.showAmuletOfBountyCharges() || config.showPotionDoseCount() - || config.showBraceletOfSlaughterCharges() || config.showExpeditiousBraceletCharges(); - - } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index 237a2174c0..c9a7d4ecd2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -599,7 +599,7 @@ public class ItemChargePlugin extends Plugin } } - boolean enabled = type != null && type.getEnabled().apply(config); + boolean enabled = type != null && type.getEnabled().test(config); if (showInfoboxes && enabled && charges > 0) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeType.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeType.java index f713c008c9..294a865c1f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeType.java @@ -25,7 +25,7 @@ */ package net.runelite.client.plugins.itemcharges; -import java.util.function.Function; +import java.util.function.Predicate; import lombok.AllArgsConstructor; import lombok.Getter; @@ -50,7 +50,8 @@ enum ItemChargeType FRUIT_BASKET(ItemChargeConfig::showBasketCharges), SACK(ItemChargeConfig::showSackCharges), RING_OF_FORGING(ItemChargeConfig::showRingOfForgingCount), - POTION(ItemChargeConfig::showPotionDoseCount); + POTION(ItemChargeConfig::showPotionDoseCount), + GUTHIX_REST(ItemChargeConfig::showGuthixRestDoses); - private final Function enabled; + private final Predicate enabled; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java index 5984389ff4..b9c1124423 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java @@ -231,10 +231,10 @@ enum ItemWithCharge GLORYT4(TELEPORT, AMULET_OF_GLORY_T4, 4), GLORYT5(TELEPORT, AMULET_OF_GLORY_T5, 5), GLORYT6(TELEPORT, AMULET_OF_GLORY_T6, 6), - GREST1(POTION, GUTHIX_REST1, 1), - GREST2(POTION, GUTHIX_REST2, 2), - GREST3(POTION, GUTHIX_REST3, 3), - GREST4(POTION, GUTHIX_REST4, 4), + GREST1(GUTHIX_REST, GUTHIX_REST1, 1), + GREST2(GUTHIX_REST, GUTHIX_REST2, 2), + GREST3(GUTHIX_REST, GUTHIX_REST3, 3), + GREST4(GUTHIX_REST, GUTHIX_REST4, 4), GUTHIX_BAL1(POTION, GUTHIX_BALANCE1, 1), GUTHIX_BAL2(POTION, GUTHIX_BALANCE2, 2), GUTHIX_BAL3(POTION, GUTHIX_BALANCE3, 3),