diff --git a/src/main/java/net/minestom/server/item/ItemTag.java b/src/main/java/net/minestom/server/item/ItemTag.java index ad5350042..50a7bca9f 100644 --- a/src/main/java/net/minestom/server/item/ItemTag.java +++ b/src/main/java/net/minestom/server/item/ItemTag.java @@ -1,7 +1,9 @@ package net.minestom.server.item; import org.jetbrains.annotations.NotNull; +import org.jglrxavpok.hephaistos.nbt.NBT; import org.jglrxavpok.hephaistos.nbt.NBTCompound; +import org.jglrxavpok.hephaistos.nbt.NBTList; import java.util.function.BiConsumer; import java.util.function.Function; @@ -80,7 +82,17 @@ public class ItemTag { (nbtCompound, value) -> nbtCompound.setString(key, value)); } - // TODO List/Compound + public static @NotNull ItemTag Compound(@NotNull String key) { + return new ItemTag<>(key, + nbtCompound -> nbtCompound.getCompound(key), + ((nbtCompound, value) -> nbtCompound.set(key, value))); + } + + public static @NotNull ItemTag> List(@NotNull String key) { + return new ItemTag<>(key, + nbtCompound -> nbtCompound.getList(key), + ((nbtCompound, value) -> nbtCompound.set(key, value))); + } public static @NotNull ItemTag IntArray(@NotNull String key) { return new ItemTag<>(key,