From 3cd5ec334fb6cbbdf4e44f471c9895cca8db1000 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Fri, 12 Apr 2024 08:00:46 +0200 Subject: Fix skill experience detection (#1085) --- .../notenoughupdates/overlays/CombatSkillOverlay.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java index 26704f47..3f2618fe 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java @@ -24,6 +24,7 @@ import io.github.moulberry.notenoughupdates.core.config.Position; import io.github.moulberry.notenoughupdates.core.util.lerp.LerpUtils; import io.github.moulberry.notenoughupdates.util.Utils; import io.github.moulberry.notenoughupdates.util.XPInformation; +import lombok.var; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -176,9 +177,13 @@ public class CombatSkillOverlay String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(stack); skillInfoLast = skillInfo; - skillInfo = XPInformation.getInstance().getSkillInfo(skillType); + var s = NotEnoughUpdates.INSTANCE.config.skillOverlays.combatText; + skillInfo = XPInformation.getInstance().getSkillInfo( + skillType, + s.contains(1) || s.contains(2) || s.contains(3) || s.contains(4) + ); if (skillInfo != null) { - float totalXp = skillInfo.totalXp; + float totalXp = (float) skillInfo.totalXp; if (lastTotalXp > 0) { float delta = totalXp - lastTotalXp; @@ -285,9 +290,9 @@ public class CombatSkillOverlay .append(EnumChatFormatting.GRAY) .append(" ["); - float progress = skillInfo.currentXp / skillInfo.currentXpMax; + float progress = (float) (skillInfo.currentXp / skillInfo.currentXpMax); if (skillInfoLast != null && skillInfo.currentXpMax == skillInfoLast.currentXpMax) { - progress = interp(progress, skillInfoLast.currentXp / skillInfoLast.currentXpMax); + progress = interp(progress, (float) (skillInfoLast.currentXp / skillInfoLast.currentXpMax)); } float lines = 25; @@ -308,7 +313,7 @@ public class CombatSkillOverlay int current = (int) skillInfo.currentXp; if (skillInfoLast != null && skillInfo.currentXpMax == skillInfoLast.currentXpMax) { - current = (int) interp(current, skillInfoLast.currentXp); + current = (int) interp(current, (float) skillInfoLast.currentXp); } int remaining = (int) (skillInfo.currentXpMax - skillInfo.currentXp); @@ -342,7 +347,7 @@ public class CombatSkillOverlay if (skillInfo != null && skillInfo.level == 60) { int current = (int) skillInfo.currentXp; if (skillInfoLast != null && skillInfo.currentXpMax == skillInfoLast.currentXpMax) { - current = (int) interp(current, skillInfoLast.currentXp); + current = (int) interp(current,(float) skillInfoLast.currentXp); } lineMap.put( -- cgit