diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-04 22:39:49 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-08 04:13:47 +0300 |
commit | 89aaf5573632916316605af414def03bd993ca93 (patch) | |
tree | 6b689b0c7a97763165c6085d80ad5ee6a06a1c7b | |
parent | b7d8783c538234afc407dc03e0f354c3fac94c15 (diff) | |
download | Skyblocker-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.java | 3 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java | 34 |
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))); + } +} |