aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/debug/Debug.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java14
5 files changed, 16 insertions, 10 deletions
diff --git a/src/main/java/de/hysky/skyblocker/debug/Debug.java b/src/main/java/de/hysky/skyblocker/debug/Debug.java
index 038e7a5a..d642ca5b 100644
--- a/src/main/java/de/hysky/skyblocker/debug/Debug.java
+++ b/src/main/java/de/hysky/skyblocker/debug/Debug.java
@@ -83,9 +83,7 @@ public class Debug {
Iterable<ItemStack> equippedItems = armorStand.getEquippedItems();
for (ItemStack stack : equippedItems) {
- ItemUtils.getHeadTexture(stack).ifPresent(texture -> {
- context.getSource().sendFeedback(Text.of(texture));
- });
+ ItemUtils.getHeadTextureOptional(stack).ifPresent(texture -> context.getSource().sendFeedback(Text.of(texture)));
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java
index ee16abd9..2f027f81 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java
@@ -47,7 +47,7 @@ public class EggFinder {
if (SkyblockTime.skyblockSeason.get() != SkyblockTime.Season.SPRING) return;
if (armorStand.hasCustomName() || !armorStand.isInvisible() || !armorStand.shouldHideBasePlate()) return;
for (ItemStack itemStack : armorStand.getArmorItems()) {
- ItemUtils.getHeadTexture(itemStack).ifPresent(texture -> {
+ ItemUtils.getHeadTextureOptional(itemStack).ifPresent(texture -> {
for (EggType type : EggType.entries) {
if (texture.equals(type.texture) && type.egg.getValue() == null) {
handleFoundEgg(armorStand, type);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
index df9a32c6..d6f9410b 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
@@ -104,7 +104,7 @@ public class MobGlow {
// eb07594e2df273921a77c101d0bfdfa1115abed5b9b2029eb496ceba9bdbb4b3 is texture id for the nukekubi head,
// compare against it to exclusively find armorstands that are nukekubi heads
// get the texture of the nukekubi head item itself and compare it
- String texture = ItemUtils.getHeadTexture(armorItem).orElse("");
+ String texture = ItemUtils.getHeadTexture(armorItem);
return texture.contains("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWIwNzU5NGUyZGYyNzM5MjFhNzdjMTAxZDBiZmRmYTExMTVhYmVkNWI5YjIwMjllYjQ5NmNlYmE5YmRiYjRiMyJ9fX0=");
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
index 0f349a4f..682933f4 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
@@ -94,7 +94,9 @@ public class VisitorHelper {
}
private static @Nullable String getTextureOrNull(ItemStack stack) {
- return ItemUtils.getHeadTexture(stack).orElse(null);
+ String texture = ItemUtils.getHeadTexture(stack);
+
+ return texture.isEmpty() ? null : texture;
}
private static void processLore(String visitorName, @Nullable String visitorTexture, List<Text> loreList) {
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
index 6b850b3b..6f98efa6 100644
--- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
@@ -203,16 +203,22 @@ public class ItemUtils {
return Codecs.GAME_PROFILE_PROPERTY_MAP.parse(JsonOps.INSTANCE, JsonParser.parseString("[{\"name\":\"textures\",\"value\":\"" + textureValue + "\"}]")).getOrThrow();
}
- public static Optional<String> getHeadTexture(ItemStack stack) {
- if (!stack.isOf(Items.PLAYER_HEAD) || !stack.contains(DataComponentTypes.PROFILE)) return Optional.empty();
+ public static String getHeadTexture(ItemStack stack) {
+ if (!stack.isOf(Items.PLAYER_HEAD) || !stack.contains(DataComponentTypes.PROFILE)) return "";
Iterator<Property> iterator = stack.get(DataComponentTypes.PROFILE)
.properties()
.get("textures")
.iterator();
- if (!iterator.hasNext()) return Optional.empty();
- return Optional.of(iterator.next().value());
+ if (!iterator.hasNext()) return "";
+ return iterator.next().value();
+ }
+
+ public static Optional<String> getHeadTextureOptional(ItemStack stack) {
+ String texture = getHeadTexture(stack);
+ if (texture == null) return Optional.empty();
+ return Optional.of(texture);
}
public static ItemStack getSkyblockerStack() {