diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-12-30 16:19:42 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-12-30 16:19:42 +0800 |
commit | dd0ae884f80fb74d9de680b7ea8339a33141e72f (patch) | |
tree | ad17124847a786188f1d7810b1d485d12fda3219 /src/main/java/de/hysky/skyblocker/utils | |
parent | 45a4e2eabc96555ea1b66c94490b90f25d18d7c8 (diff) | |
download | Skyblocker-dd0ae884f80fb74d9de680b7ea8339a33141e72f.tar.gz Skyblocker-dd0ae884f80fb74d9de680b7ea8339a33141e72f.tar.bz2 Skyblocker-dd0ae884f80fb74d9de680b7ea8339a33141e72f.zip |
Use stream api
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/ItemUtils.java | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java index 41f0005e..eed91ed8 100644 --- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java +++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java @@ -9,16 +9,14 @@ import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; -import net.minecraft.nbt.NbtList; import net.minecraft.nbt.StringNbtReader; -import net.minecraft.text.MutableText; import net.minecraft.text.Text; import net.minecraft.text.Texts; import net.minecraft.util.Formatting; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -144,27 +142,12 @@ public class ItemUtils { } public static List<Text> getNbtTooltips(ItemStack item) { - List<Text> tooltips = new ArrayList<>(); - NbtCompound displayNbt = item.getSubNbt("display"); - if (displayNbt == null) { - return tooltips; + if (displayNbt == null || !displayNbt.contains("Lore", NbtElement.LIST_TYPE)) { + return Collections.emptyList(); } - if (displayNbt.contains("Lore", NbtElement.LIST_TYPE)) { - NbtList loreList = displayNbt.getList("Lore", NbtElement.STRING_TYPE); - - for (int i = 0; i < loreList.size(); i++) { - try { - MutableText loreText = Text.Serialization.fromJson(loreList.getString(i)); - if (loreText != null) { - tooltips.add(Texts.setStyleIfAbsent(loreText, ItemStackAccessor.getLORE_STYLE())); - } - } catch (Exception ignored) { - } - } - } - return tooltips; + return displayNbt.getList("Lore", NbtElement.STRING_TYPE).stream().map(NbtElement::asString).map(Text.Serialization::fromJson).filter(Objects::nonNull).map(text -> Texts.setStyleIfAbsent(text, ItemStackAccessor.getLORE_STYLE())).map(Text.class::cast).toList(); } public static ItemStack getSkyblockerStack() { |