From ad16bf5b3f55223d775936ae9b20ffb421c1a4d1 Mon Sep 17 00:00:00 2001 From: Lotto Date: Tue, 7 May 2019 17:00:51 +0200 Subject: [PATCH] xp tracker (onscreen): add toggle between displaying XP Left/XP Gained --- .../client/plugins/xptracker/XpInfoBoxOverlay.java | 8 ++++++-- .../client/plugins/xptracker/XpTrackerConfig.java | 11 +++++++++++ .../client/plugins/xptracker/XpTrackerPlugin.java | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java index 8718f44468..290dffe01f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java @@ -56,6 +56,7 @@ class XpInfoBoxOverlay extends Overlay private final PanelComponent panel = new PanelComponent(); private final PanelComponent iconXpSplitPanel = new PanelComponent(); private final XpTrackerPlugin plugin; + private final XpTrackerConfig config; @Getter(AccessLevel.PACKAGE) private final Skill skill; @@ -63,11 +64,13 @@ class XpInfoBoxOverlay extends Overlay XpInfoBoxOverlay( XpTrackerPlugin plugin, + XpTrackerConfig config, Skill skill, BufferedImage icon) { super(plugin); this.plugin = plugin; + this.config = config; this.skill = skill; this.icon = icon; panel.setBorder(new Rectangle(BORDER_SIZE, BORDER_SIZE, BORDER_SIZE, BORDER_SIZE)); @@ -90,8 +93,9 @@ class XpInfoBoxOverlay extends Overlay final XpSnapshotSingle snapshot = plugin.getSkillSnapshot(skill); final LineComponent xpLine = LineComponent.builder() - .left("XP Gained:") - .right(StackFormatter.quantityToRSDecimalStack(snapshot.getXpGainedInSession())) + .left(config.displayXpLeftOnScreen() ? "XP Left:" : "XP Gained:") + .right(StackFormatter.quantityToRSDecimalStack(config.displayXpLeftOnScreen() + ? snapshot.getXpRemainingToGoal() : snapshot.getXpGainedInSession())) .build(); final LineComponent xpHour = LineComponent.builder() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java index d32abf2aa9..f14b442825 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java @@ -74,4 +74,15 @@ public interface XpTrackerConfig extends Config { return 0; } + + @ConfigItem( + position = 4, + keyName = "onScreenXpLeft", + name = "Display XP Left on-screen", + description = "Display remaining experience instead of experience gained on on-screen trackers" + ) + default boolean displayXpLeftOnScreen() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 8f08b0ba7b..7d3006ddc9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -221,7 +221,7 @@ public class XpTrackerPlugin extends Plugin void addOverlay(Skill skill) { removeOverlay(skill); - overlayManager.add(new XpInfoBoxOverlay(this, skill, skillIconManager.getSkillImage(skill))); + overlayManager.add(new XpInfoBoxOverlay(this, xpTrackerConfig, skill, skillIconManager.getSkillImage(skill))); } /**