diff options
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java | 7 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java index 207190c2..d6ced22a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -25,7 +26,11 @@ public class CollectionAdder extends SlotTextAdder { Matcher matcher = COLLECTION.matcher(stack.getName().getString()); if (matcher.matches()) { int level = RomanNumerals.romanToDecimal(matcher.group("level")); - return List.of(SlotText.bottomRight(Text.literal(String.valueOf(level)).withColor(0xFFDDC1))); + if (ItemUtils.getLoreLineIf(stack, s -> s.contains("Progress to ")) != null) { + return List.of(SlotText.bottomRight(Text.literal(String.valueOf(level)).withColor(0xFFDDC1))); + } else { + return List.of(SlotText.bottomRight(Text.literal(String.valueOf(level)).withColor(0xE5B80B))); + } } return List.of(); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java index 07b8dd9b..18dbd2f7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java @@ -2,7 +2,9 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; +import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -20,11 +22,16 @@ public class SkillLevelAdder extends SlotTextAdder { switch (slot.id) { case 19, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32 -> { //These are the slots that contain the skill items. Note that they aren't continuous, as there are 2 rows. String name = slot.getStack().getName().getString(); + final ItemStack stack = slot.getStack(); int lastIndex = name.lastIndexOf(' '); if (lastIndex == -1) return List.of(SlotText.bottomLeft(Text.literal("0").formatted(Formatting.LIGHT_PURPLE))); //Skills without any levels don't display any roman numerals. Probably because 0 doesn't exist. String romanNumeral = name.substring(lastIndex + 1); //+1 because we don't need the space itself //The "romanNumeral" might be a latin numeral, too. There's a skyblock setting for this, so we have to do it this way V - return List.of(SlotText.bottomLeft(Text.literal(String.valueOf(RomanNumerals.isValidRomanNumeral(romanNumeral) ? RomanNumerals.romanToDecimal(romanNumeral) : Integer.parseInt(romanNumeral))).withColor(0xFFDDC1))); + if (ItemUtils.getLoreLineIf(stack, s -> s.contains("Max Skill level reached!")) != null) { + return List.of(SlotText.bottomLeft(Text.literal(String.valueOf(RomanNumerals.isValidRomanNumeral(romanNumeral) ? RomanNumerals.romanToDecimal(romanNumeral) : Integer.parseInt(romanNumeral))).withColor(0xE5B80B))); + } else { + return List.of(SlotText.bottomLeft(Text.literal(String.valueOf(RomanNumerals.isValidRomanNumeral(romanNumeral) ? RomanNumerals.romanToDecimal(romanNumeral) : Integer.parseInt(romanNumeral))).withColor(0xFFDDC1))); + } } default -> { return List.of(); |