aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-06-10 08:32:15 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-06-13 07:21:11 +0300
commitab5518bd7e4f51225180b1d80faa65b5ecacd358 (patch)
tree744b70c7f80eecf6646b028593160f27b98ad69d /src/main/java/de
parent64ba9c14acb184d293f28976851b8a0cee0b21ad (diff)
downloadSkyblocker-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.java11
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)));
}
}