From d4fc6a094a59f145095c8e60041cb93ef1fb2e96 Mon Sep 17 00:00:00 2001 From: TheMode Date: Fri, 28 May 2021 17:00:48 +0200 Subject: [PATCH] Make ItemStack TagReadable --- .../java/net/minestom/server/item/ItemStack.java | 14 +++++++++++++- 1 file 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 f1e1b7f7b..6fedeca9a 100644 --- a/src/main/java/net/minestom/server/item/ItemStack.java +++ b/src/main/java/net/minestom/server/item/ItemStack.java @@ -4,6 +4,8 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.HoverEvent; import net.kyori.adventure.text.event.HoverEventSource; import net.minestom.server.item.rule.VanillaStackingRule; +import net.minestom.server.tag.Tag; +import net.minestom.server.tag.TagReadable; import net.minestom.server.utils.NBTUtils; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -22,7 +24,7 @@ import java.util.function.UnaryOperator; *

* An item stack cannot be null, {@link ItemStack#AIR} should be used instead. */ -public final class ItemStack implements HoverEventSource { +public final class ItemStack implements TagReadable, HoverEventSource { /** * Constant AIR item. Should be used instead of 'null'. @@ -191,6 +193,16 @@ public final class ItemStack implements HoverEventSource { .stackingRule(stackingRule); } + @Override + public @Nullable T getTag(@NotNull Tag tag) { + return meta.getTag(tag); + } + + @Override + public boolean hasTag(@NotNull Tag tag) { + return meta.hasTag(tag); + } + @Override public @NotNull HoverEvent asHoverEvent(@NotNull UnaryOperator op) { return HoverEvent.showItem(op.apply(HoverEvent.ShowItem.of(this.material,