diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-05-29 19:16:05 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-08 04:13:47 +0300 |
commit | 70f64540381615499964bfb42afa9d969cf52b59 (patch) | |
tree | 69b4490c14cd8a436d0715330a05cfc9332296ad /src/main/java/de | |
parent | c5b456cf7264edb802b0af18e1075451c39276b5 (diff) | |
download | Skyblocker-70f64540381615499964bfb42afa9d969cf52b59.tar.gz Skyblocker-70f64540381615499964bfb42afa9d969cf52b59.tar.bz2 Skyblocker-70f64540381615499964bfb42afa9d969cf52b59.zip |
Add enchantment level slot text
Diffstat (limited to 'src/main/java/de')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java | 32 |
2 files changed, 34 insertions, 0 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 b6dfa6cd..bc555454 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 @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.item.slottext; +import de.hysky.skyblocker.skyblock.item.slottext.adders.EnchantmentLevelAdder; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; @@ -11,6 +12,7 @@ import java.util.ArrayList; public class SlotTextManager { private static final SlotTextAdder[] adders = new SlotTextAdder[]{ + new EnchantmentLevelAdder() }; private static final ArrayList<SlotTextAdder> currentScreenAdders = new ArrayList<>(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java new file mode 100644 index 00000000..e041f675 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java @@ -0,0 +1,32 @@ +package de.hysky.skyblocker.skyblock.item.slottext.adders; + +import de.hysky.skyblocker.skyblock.chocolatefactory.ChocolateFactorySolver; +import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.utils.ItemUtils; +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.Nullable; + +import java.util.List; + +public class EnchantmentLevelAdder extends SlotTextAdder { + public EnchantmentLevelAdder() { + super(); + } + + @Override + public @Nullable Text getText(Slot slot) { + final ItemStack itemStack = slot.getStack(); + if (!itemStack.isOf(Items.ENCHANTED_BOOK)) return null; + List<Text> lore = ItemUtils.getLore(itemStack); + if (lore.isEmpty()) return null; + String firstLine = lore.getFirst().getString(); + String romanNumeral = firstLine.substring(firstLine.lastIndexOf(' ') + 1); //+1 because we don't need the space itself + int level = ChocolateFactorySolver.romanToDecimal(romanNumeral); //Temporary line. The method will be moved out later. + if (level == 0) return null; + return Text.literal(String.valueOf(level)).formatted(Formatting.BLUE); + } +} |