aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-07-02 20:14:50 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-07-02 20:14:50 +0300
commit17601f5f72ba2b70eb9f264a2e543a32580b81a3 (patch)
tree1cde3da2ba20710fe4544f49a13b6f29d338f066 /src/main/java
parent16093809f4d7b04ed37a12978b9e8f735de95f08 (diff)
downloadSkyblocker-17601f5f72ba2b70eb9f264a2e543a32580b81a3.tar.gz
Skyblocker-17601f5f72ba2b70eb9f264a2e543a32580b81a3.tar.bz2
Skyblocker-17601f5f72ba2b70eb9f264a2e543a32580b81a3.zip
Fix PetLevelAdder working incorrectly in the sea creatures guide
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java6
2 files changed, 11 insertions, 4 deletions
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
index 88d48fbf..87d42e4f 100644
--- 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
@@ -2,11 +2,13 @@ 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.ItemUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.nbt.NbtElement;
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.NotNull;
@@ -22,8 +24,9 @@ public class PetLevelAdder extends SlotTextAdder {
ItemStack itemStack = slot.getStack();
if (!itemStack.isOf(Items.PLAYER_HEAD)) return List.of();
String level = CatacombsLevelAdder.getBracketedLevelFromName(itemStack);
- if (!NumberUtils.isDigits(level)) return List.of();
- if ("100".equals(level) || "200".equals(level)) return List.of();
+ if (!NumberUtils.isDigits(level) || "100".equals(level) || "200".equals(level)) return List.of();
+ NbtCompound nbt = ItemUtils.getCustomData(itemStack);
+ if (nbt.isEmpty() || !nbt.contains("id", NbtElement.STRING_TYPE) || !nbt.getString("id").equals("PET")) return List.of();
return List.of(SlotText.topLeft(Text.literal(level).withColor(0xFFDDC1)));
}
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
index de7a0f9e..7deabf2b 100644
--- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
@@ -62,8 +62,12 @@ public class ItemUtils {
});
}
+ /**
+ * Gets the nbt in the custom data component of the item stack.
+ * @return The {@link DataComponentTypes#CUSTOM_DATA custom data} of the itemstack, or an empty {@link NbtCompound} if the itemstack is missing
+ */
@SuppressWarnings("deprecation")
- public static NbtCompound getCustomData(@NotNull ComponentHolder stack) {
+ public static @NotNull NbtCompound getCustomData(@NotNull ComponentHolder stack) {
return stack.getOrDefault(DataComponentTypes.CUSTOM_DATA, NbtComponent.DEFAULT).getNbt();
}