diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-10 08:32:15 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-13 07:21:11 +0300 |
commit | ab5518bd7e4f51225180b1d80faa65b5ecacd358 (patch) | |
tree | 744b70c7f80eecf6646b028593160f27b98ad69d /src/main/java/de | |
parent | 64ba9c14acb184d293f28976851b8a0cee0b21ad (diff) | |
download | Skyblocker-ab5518bd7e4f51225180b1d80faa65b5ecacd358.tar.gz Skyblocker-ab5518bd7e4f51225180b1d80faa65b5ecacd358.tar.bz2 Skyblocker-ab5518bd7e4f51225180b1d80faa65b5ecacd358.zip |
Fix MinionLevelAdder matching an item in the Community Shop screen
Diffstat (limited to 'src/main/java/de')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java index b54b6a89..b9fe130f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java @@ -11,8 +11,11 @@ import net.minecraft.util.Formatting; import org.jetbrains.annotations.NotNull; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class MinionLevelAdder extends SlotTextAdder { + private static final Pattern MINION_PATTERN = Pattern.compile(".* Minion ([IVXLCDM]+)"); public MinionLevelAdder() { super(); } @@ -21,11 +24,11 @@ public class MinionLevelAdder extends SlotTextAdder { public @NotNull List<SlotText> getText(Slot slot) { ItemStack itemStack = slot.getStack(); if (!itemStack.isOf(Items.PLAYER_HEAD)) return List.of(); - String name = itemStack.getName().getString(); - if (!name.contains("Minion")) return List.of(); - String romanNumeral = name.substring(name.lastIndexOf(' ') + 1); //+1 because we don't need the space itself + Matcher matcher = MINION_PATTERN.matcher(itemStack.getName().getString()); + if (!matcher.matches()) return List.of(); + String romanNumeral = matcher.group(1); + if (!RomanNumerals.isValidRomanNumeral(romanNumeral)) return List.of(); int level = RomanNumerals.romanToDecimal(romanNumeral); - if (level == 0) return List.of(); return List.of(SlotText.topRight(Text.literal(String.valueOf(level)).formatted(Formatting.AQUA))); } } |