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),