ItemStack.Builder should only be TagWritable

Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
TheMode 2022-05-02 21:51:33 +02:00
parent d8a1003368
commit 1384bc0c18
2 changed files with 6 additions and 4 deletions

View File

@ -6,7 +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.tag.TagWritable;
import net.minestom.server.utils.NBTUtils;
import net.minestom.server.utils.validate.Check;
import org.jetbrains.annotations.*;
@ -204,7 +204,7 @@ public sealed interface ItemStack extends TagReadable, HoverEventSource<HoverEve
return meta();
}
sealed interface Builder extends Taggable
sealed interface Builder extends TagWritable
permits ItemStackImpl.Builder {
@Contract(value = "_ -> this")
@NotNull Builder amount(int amount);

View File

@ -1,9 +1,11 @@
package net.minestom.server.item;
import net.minestom.server.item.rule.VanillaStackingRule;
import net.minestom.server.tag.Tag;
import net.minestom.server.tag.TagHandler;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jglrxavpok.hephaistos.nbt.NBT;
import org.jglrxavpok.hephaistos.nbt.NBTByte;
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
@ -137,8 +139,8 @@ record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implement
}
@Override
public @NotNull TagHandler tagHandler() {
return metaBuilder.tagHandler();
public <T> void setTag(@NotNull Tag<T> tag, @Nullable T value) {
this.metaBuilder.setTag(tag, value);
}
@Override