mirror of https://github.com/Minestom/Minestom.git
50 lines
1.7 KiB
Java
50 lines
1.7 KiB
Java
package net.minestom.server.item;
|
|
|
|
import net.minestom.server.attribute.Attribute;
|
|
import net.minestom.server.attribute.AttributeOperation;
|
|
import net.minestom.server.item.attribute.AttributeSlot;
|
|
import net.minestom.server.item.attribute.ItemAttribute;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
import static net.minestom.testing.TestUtils.assertEqualsSNBT;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
public class ItemAttributeTest {
|
|
|
|
@Test
|
|
public void attribute() {
|
|
var attributes = List.of(new ItemAttribute(
|
|
new UUID(0, 0), "generic.attack_damage", Attribute.ATTACK_DAMAGE,
|
|
AttributeOperation.ADDITION, 2, AttributeSlot.MAINHAND));
|
|
var item = ItemStack.builder(Material.STICK)
|
|
.meta(builder -> builder.attributes(attributes))
|
|
.build();
|
|
assertEquals(attributes, item.meta().getAttributes());
|
|
}
|
|
|
|
@Test
|
|
public void attributeNbt() {
|
|
var item = ItemStack.builder(Material.STICK)
|
|
.meta(builder -> builder.attributes(
|
|
List.of(new ItemAttribute(
|
|
new UUID(0, 0), "generic.attack_damage", Attribute.ATTACK_DAMAGE,
|
|
AttributeOperation.ADDITION, 2, AttributeSlot.MAINHAND))))
|
|
.build();
|
|
assertEqualsSNBT("""
|
|
{"AttributeModifiers":[
|
|
{
|
|
"Amount":2.0D,
|
|
"UUID":[I;0,0,0,0],
|
|
"Slot":"mainhand",
|
|
"Operation":0,
|
|
"AttributeName":"generic.attack_damage",
|
|
"Name":"generic.attack_damage"
|
|
}
|
|
]}
|
|
""", item.meta().toNBT());
|
|
}
|
|
}
|