From 3c0abb0409e6c54bc56941d6c79a0ef868af47a6 Mon Sep 17 00:00:00 2001 From: TheMode Date: Wed, 20 Apr 2022 23:14:37 +0200 Subject: [PATCH] Make ItemStack.Builder extends Taggable Signed-off-by: TheMode --- src/main/java/net/minestom/server/item/ItemStack.java | 9 ++++++++- .../java/net/minestom/server/item/ItemStackImpl.java | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/item/ItemStack.java b/src/main/java/net/minestom/server/item/ItemStack.java index 942e4718f..07f92e228 100644 --- a/src/main/java/net/minestom/server/item/ItemStack.java +++ b/src/main/java/net/minestom/server/item/ItemStack.java @@ -6,6 +6,7 @@ import net.kyori.adventure.text.event.HoverEventSource; import net.minestom.server.tag.Tag; import net.minestom.server.tag.TagHandler; import net.minestom.server.tag.TagReadable; +import net.minestom.server.tag.Taggable; import net.minestom.server.utils.NBTUtils; import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.*; @@ -203,7 +204,7 @@ public sealed interface ItemStack extends TagReadable, HoverEventSource @NotNull Builder set(@NotNull Tag tag, @Nullable T value) { + setTag(tag, value); + return this; + } + @Contract(value = "_ -> this") default @NotNull Builder displayName(@Nullable Component displayName) { return meta(builder -> builder.displayName(displayName)); diff --git a/src/main/java/net/minestom/server/item/ItemStackImpl.java b/src/main/java/net/minestom/server/item/ItemStackImpl.java index aa03d1521..8f44f4329 100644 --- a/src/main/java/net/minestom/server/item/ItemStackImpl.java +++ b/src/main/java/net/minestom/server/item/ItemStackImpl.java @@ -137,6 +137,11 @@ record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implement return this; } + @Override + public @NotNull TagHandler tagHandler() { + return metaBuilder.tagHandler(); + } + @Override public @NotNull ItemStack build() { return ItemStackImpl.create(material, amount, metaBuilder.build());