diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/SkillXPInfo.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/SkillXPInfo.java index f928aa9f52..44de7359a5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/SkillXPInfo.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/SkillXPInfo.java @@ -26,6 +26,7 @@ package net.runelite.client.plugins.xptracker; import java.time.Duration; import java.time.Instant; +import java.time.LocalTime; import lombok.Data; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Experience; @@ -50,6 +51,11 @@ class SkillXPInfo return toHourly(xpGained); } + int getXpSec() + { + return getXpHr() / 3600; + } + int getActionsHr() { return toHourly(actions); @@ -85,6 +91,15 @@ class SkillXPInfo return (int) ((xpGained / xpGoal) * 100); } + String getTimeTillLevel() + { + if (getXpSec() > 0) + { + return LocalTime.MIN.plusSeconds( getXpRemaining() / getXpSec() ).toString(); + } + return "\u221e"; + } + void reset(int currentXp) { if (startXp != -1) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java index 30046511ad..7e58c3a9d1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java @@ -238,6 +238,8 @@ class XpInfoBox extends JPanel + XpPanel.formatLine(xpInfo.getActions(), "actions") + "
" + XpPanel.formatLine(xpInfo.getActionsHr(), "actions/hr") + + "
" + + xpInfo.getTimeTillLevel() + " till next lvl" + ""); }