From ececd4c3d491e989869abafe38a9ed490cb7620b Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Wed, 29 May 2024 19:42:57 +0300 Subject: Add pet level slot text --- .../skyblock/item/slottext/SlotTextManager.java | 4 +++- .../item/slottext/adders/PetLevelAdder.java | 28 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java (limited to 'src') 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 dd98cbdf..06eb4d28 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 @@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.item.slottext; import de.hysky.skyblocker.skyblock.item.slottext.adders.EnchantmentLevelAdder; import de.hysky.skyblocker.skyblock.item.slottext.adders.MinionLevelAdder; +import de.hysky.skyblocker.skyblock.item.slottext.adders.PetLevelAdder; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; @@ -14,7 +15,8 @@ import java.util.ArrayList; public class SlotTextManager { private static final SlotTextAdder[] adders = new SlotTextAdder[]{ new EnchantmentLevelAdder(), - new MinionLevelAdder() + new MinionLevelAdder(), + new PetLevelAdder() }; private static final ArrayList currentScreenAdders = new ArrayList<>(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java new file mode 100644 index 00000000..7e384888 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java @@ -0,0 +1,28 @@ +package de.hysky.skyblocker.skyblock.item.slottext.adders; + +import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +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.apache.commons.lang3.math.NumberUtils; +import org.jetbrains.annotations.Nullable; + +public class PetLevelAdder extends SlotTextAdder { + public PetLevelAdder() { + super(); + } + + @Override + public @Nullable Text getText(Slot slot) { + ItemStack itemStack = slot.getStack(); + if (!itemStack.isOf(Items.PLAYER_HEAD)) return null; + Text name = itemStack.getName(); + String nameStr = name.getString(); + if (!nameStr.startsWith("[Lvl ")) return null; + String level = nameStr.substring(5, nameStr.indexOf(']')); + if (!NumberUtils.isDigits(level)) return null; + return Text.literal(level).formatted(Formatting.GOLD); + } +} -- cgit