aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
index 1aa77080..6b850b3b 100644
--- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
@@ -33,6 +33,7 @@ import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
@@ -202,16 +203,16 @@ public class ItemUtils {
return Codecs.GAME_PROFILE_PROPERTY_MAP.parse(JsonOps.INSTANCE, JsonParser.parseString("[{\"name\":\"textures\",\"value\":\"" + textureValue + "\"}]")).getOrThrow();
}
- public static String getHeadTexture(ItemStack stack) {
- if (!stack.isOf(Items.PLAYER_HEAD) || !stack.contains(DataComponentTypes.PROFILE)) return "";
+ public static Optional<String> getHeadTexture(ItemStack stack) {
+ if (!stack.isOf(Items.PLAYER_HEAD) || !stack.contains(DataComponentTypes.PROFILE)) return Optional.empty();
- ProfileComponent profile = stack.get(DataComponentTypes.PROFILE);
- String texture = profile.properties().get("textures").stream()
- .map(Property::value)
- .findFirst()
- .orElse("");
+ Iterator<Property> iterator = stack.get(DataComponentTypes.PROFILE)
+ .properties()
+ .get("textures")
+ .iterator();
- return texture;
+ if (!iterator.hasNext()) return Optional.empty();
+ return Optional.of(iterator.next().value());
}
public static ItemStack getSkyblockerStack() {