diff --git a/src/main/java/net/minestom/server/item/ItemMetaBuilder.java b/src/main/java/net/minestom/server/item/ItemMetaBuilder.java index 97fc9e57c..86a5fb28b 100644 --- a/src/main/java/net/minestom/server/item/ItemMetaBuilder.java +++ b/src/main/java/net/minestom/server/item/ItemMetaBuilder.java @@ -125,12 +125,12 @@ public abstract class ItemMetaBuilder implements TagWritable { handleCollection(attributes, "AttributeModifiers", () -> NBT.List(NBTType.TAG_Compound, attributes.stream() .map(itemAttribute -> NBT.Compound(Map.of( - "UUID", NBT.IntArray(Utils.uuidToIntArray(itemAttribute.getUuid())), - "Amount", NBT.Double(itemAttribute.getValue()), - "Slot", NBT.String(itemAttribute.getSlot().name().toLowerCase()), - "AttributeName", NBT.String(itemAttribute.getAttribute().key()), - "Operation", NBT.Int(itemAttribute.getOperation().getId()), - "Name", NBT.String(itemAttribute.getInternalName())))) + "UUID", NBT.IntArray(Utils.uuidToIntArray(itemAttribute.uuid())), + "Amount", NBT.Double(itemAttribute.amount()), + "Slot", NBT.String(itemAttribute.slot().name().toLowerCase()), + "AttributeName", NBT.String(itemAttribute.attribute().key()), + "Operation", NBT.Int(itemAttribute.operation().getId()), + "Name", NBT.String(itemAttribute.name())))) .toList() )); return this; diff --git a/src/main/java/net/minestom/server/item/attribute/ItemAttribute.java b/src/main/java/net/minestom/server/item/attribute/ItemAttribute.java index baee41cd4..1e14f1999 100644 --- a/src/main/java/net/minestom/server/item/attribute/ItemAttribute.java +++ b/src/main/java/net/minestom/server/item/attribute/ItemAttribute.java @@ -2,48 +2,13 @@ package net.minestom.server.item.attribute; import net.minestom.server.attribute.Attribute; import net.minestom.server.attribute.AttributeOperation; +import org.jetbrains.annotations.NotNull; import java.util.UUID; -public class ItemAttribute { - - private final UUID uuid; - private final String internalName; - private final Attribute attribute; - private final AttributeOperation operation; - private final double value; - private final AttributeSlot slot; - - public ItemAttribute(UUID uuid, String internalName, Attribute attribute, AttributeOperation operation, double value, AttributeSlot slot) { - this.uuid = uuid; - this.internalName = internalName; - this.attribute = attribute; - this.operation = operation; - this.value = value; - this.slot = slot; - } - - public UUID getUuid() { - return uuid; - } - - public String getInternalName() { - return internalName; - } - - public Attribute getAttribute() { - return attribute; - } - - public AttributeOperation getOperation() { - return operation; - } - - public double getValue() { - return value; - } - - public AttributeSlot getSlot() { - return slot; - } +public record ItemAttribute(@NotNull UUID uuid, + @NotNull String name, + @NotNull Attribute attribute, + @NotNull AttributeOperation operation, double amount, + @NotNull AttributeSlot slot) { }