aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-06-04 22:39:49 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-06-08 04:13:47 +0300
commit89aaf5573632916316605af414def03bd993ca93 (patch)
tree6b689b0c7a97763165c6085d80ad5ee6a06a1c7b
parentb7d8783c538234afc407dc03e0f354c3fac94c15 (diff)
downloadSkyblocker-89aaf5573632916316605af414def03bd993ca93.tar.gz
Skyblocker-89aaf5573632916316605af414def03bd993ca93.tar.bz2
Skyblocker-89aaf5573632916316605af414def03bd993ca93.zip
Add rancher boots speed slot text
-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/RancherBootsSpeedAdder.java34
2 files changed, 36 insertions, 1 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 c7ca2ea6..c974edc5 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
@@ -19,7 +19,8 @@ public class SlotTextManager {
new SkillLevelAdder(),
new CatacombsLevelAdder.Dungeoneering(),
new CatacombsLevelAdder.DungeonClasses(),
- new CatacombsLevelAdder.ReadyUp()
+ new CatacombsLevelAdder.ReadyUp(),
+ new RancherBootsSpeedAdder()
};
private static final ArrayList<SlotTextAdder> currentScreenAdders = new ArrayList<>();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java
new file mode 100644
index 00000000..43f4773b
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java
@@ -0,0 +1,34 @@
+package de.hysky.skyblocker.skyblock.item.slottext.adders;
+
+import de.hysky.skyblocker.skyblock.item.slottext.PositionedText;
+import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder;
+import net.minecraft.component.ComponentMap;
+import net.minecraft.component.DataComponentTypes;
+import net.minecraft.component.type.NbtComponent;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.Items;
+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;
+
+public class RancherBootsSpeedAdder extends SlotTextAdder {
+ public RancherBootsSpeedAdder() {
+ super();
+ }
+
+ @SuppressWarnings("deprecation") //It's only deprecated to discourage usage as the nbt is supposed to be immutable, but we're not mutating it anyway, so it's fine
+ @Override
+ public @NotNull List<PositionedText> getText(Slot slot) {
+ final ItemStack itemStack = slot.getStack();
+ if (!itemStack.isOf(Items.LEATHER_BOOTS)) return List.of();
+ final ComponentMap components = itemStack.getComponents();
+ if (!components.contains(DataComponentTypes.CUSTOM_DATA)) return List.of();
+ NbtComponent nbt = components.get(DataComponentTypes.CUSTOM_DATA);
+ if (nbt == null || nbt.isEmpty()) return List.of();
+ if (!nbt.contains("ranchers_speed")) return List.of();
+ return List.of(PositionedText.BOTTOM_LEFT(Text.literal(String.valueOf(nbt.getNbt().getInt("ranchers_speed"))).formatted(Formatting.GREEN)));
+ }
+}