diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 41fdef2104..f9a378dbdc 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -220,6 +220,11 @@ public enum Varbits /** * Experience tracker + * + * EXPERIENCE_TRACKER_POSITION expected values: + * 0 = Right + * 1 = Middle + * 2 = Left */ EXPERIENCE_TRACKER_POSITION(4692), EXPERIENCE_TRACKER_COUNTER(4697), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b7a3ad197c..78549803bc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -47,6 +47,8 @@ import net.runelite.client.plugins.PluginDescriptor; ) public class XpDropPlugin extends Plugin { + private static final int EXPERIENCE_DROP_SPRITE_WIDTH = 16; + @Inject private Client client; @@ -76,10 +78,19 @@ public class XpDropPlugin extends Plugin return; } - if (config.hideSkillIcons() && widget.getSpriteId() > 0) + if (config.hideSkillIcons()) { - widget.setHidden(true); - return; + if (widget.getSpriteId() > 0) + { + widget.setHidden(true); + return; + } + else if (!widget.getText().isEmpty()) + { + // Align text left accordingly to take up hidden skill icon space + final int xpDropPosition = client.getVar(Varbits.EXPERIENCE_TRACKER_POSITION); + widget.setRelativeX(EXPERIENCE_DROP_SPRITE_WIDTH * xpDropPosition * -1 / 2); + } } PrayerType prayer = getActivePrayerType();