aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-06-08 13:19:43 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-06-10 12:21:45 +0800
commit104fdf1f21716b8be4fe4eba1a7ad16195841cf3 (patch)
treea83e42f5418f8d9ea0694149cbc653ac3c0744ef /src/main/java/de/hysky/skyblocker
parentdcbbea4a299e2be7afcb4fb986504d3ef7475405 (diff)
downloadSkyblocker-104fdf1f21716b8be4fe4eba1a7ad16195841cf3.tar.gz
Skyblocker-104fdf1f21716b8be4fe4eba1a7ad16195841cf3.tar.bz2
Skyblocker-104fdf1f21716b8be4fe4eba1a7ad16195841cf3.zip
Add collection slot text
Diffstat (limited to 'src/main/java/de/hysky/skyblocker')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java33
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java6
3 files changed, 38 insertions, 4 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
index c97171e0..a4a83455 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
@@ -24,7 +24,8 @@ public class SlotTextManager {
new RancherBootsSpeedAdder(),
new AttributeShardAdder(),
new PrehistoricEggAdder(),
- new PotionLevelAdder()
+ new PotionLevelAdder(),
+ new CollectionAdder()
};
private static final ArrayList<SlotTextAdder> currentScreenAdders = new ArrayList<>();
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
new file mode 100644
index 00000000..e577f0d8
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java
@@ -0,0 +1,33 @@
+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.RomanNumerals;
+import net.minecraft.item.ItemStack;
+import net.minecraft.screen.slot.Slot;
+import net.minecraft.text.Text;
+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 CollectionAdder extends SlotTextAdder {
+ private static final Pattern COLLECTION = Pattern.compile("^[\\w ]+ (?<level>[IVXLCDM]+)$");
+
+ public CollectionAdder() {
+ super("^\\w+ Collections");
+ }
+
+ @Override
+ public @NotNull List<SlotText> getText(Slot slot) {
+ final ItemStack stack = slot.getStack();
+ 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)).formatted(Formatting.YELLOW)));
+ }
+ return List.of();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
index 09114029..457d2964 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
@@ -1,6 +1,6 @@
package de.hysky.skyblocker.skyblock.item.slottext.adders;
-import de.hysky.skyblocker.skyblock.item.slottext.PositionedText;
+import de.hysky.skyblocker.skyblock.item.slottext.SlotText;
import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder;
import de.hysky.skyblocker.utils.ItemUtils;
import net.minecraft.item.ItemStack;
@@ -15,12 +15,12 @@ import java.util.List;
public class PotionLevelAdder extends SlotTextAdder {
@Override
- public @NotNull List<PositionedText> getText(Slot slot) {
+ public @NotNull List<SlotText> getText(Slot slot) {
final ItemStack stack = slot.getStack();
NbtCompound customData = ItemUtils.getCustomData(stack);
if (customData.contains("potion_level", NbtElement.INT_TYPE)) {
int level = customData.getInt("potion_level");
- return List.of(PositionedText.BOTTOM_RIGHT(Text.literal(String.valueOf(level)).formatted(Formatting.AQUA)));
+ return List.of(SlotText.bottomRight(Text.literal(String.valueOf(level)).formatted(Formatting.AQUA)));
}
return List.of();
}