Witam, dzisiaj pokaże wam jak dodać atrybuty do przedmiotu.
Więc zaczynamy
Pierwsze co robimy to tworzymy nowy ItemStack i nazywamy go jak chcemy:
ItemStack wm = new ItemStack(Material.GOLDEN_SWORD);
Następnie tworzymy itemMeta:
final ItemMeta meta = wm.getItemMeta();
Teraz tworzymy AttributeModifier:
final AttributeModifier attributeModifier = new AttributeModifier(UUID.randomUUID(), "coolAttribute", 25.0, Operation.ADD_NUMBER, EquipmentSlot.HAND);
po kolei co to jest:
UUID.randomUUID() - dajemy randomowe uuid AttributeModifier. UUID nie możne się powtarzać w tym samym przedmiocie wiec to jest najlepsze,
coolAttribute - nazwa naszego atrybutu (ustalacie sobie sami),
25.0 - ilość dodawanych obrażeń (ustalacie sobie sami),
EquipmentSlot.HAND - Gdzie musi być aby dodać atrybuty, jest ich pełno, na przykład na hełmik jest EquipmentSlot.HEAD,
Teraz dodajemy atrybut poprzez:
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, attributeModifier);
GENERIC_ATTACK_SPEED - Co ma zmieniać atrybut, w tym przypadku prędkość ataku
attributeModifier1 - nazwa atrybutu jaki daliśmy w tworzeniu jego
Teraz musimy przydzielić ItemMete do ItemStack:
wm.setItemMeta(meta);
Całość kodu wygląda tak:
final ItemMeta meta = wm.getItemMeta();
final AttributeModifier attributeModifier = new AttributeModifier(UUID.randomUUID(), "coolAttribute", 25.0, Operation.ADD_NUMBER, EquipmentSlot.HAND);
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, attributeModifier);
To na tyle. Można dodać atrybuty mobom. Dzięki za pomoc z tym kodem @yooniks
Myślę że dość zrozumiale napisane. Robię ten poradnik ponieważ nie znalazłem go na żadnym innym forum.