Skocz do zawartości
  • 0

Dodanie Attribute


Szwagru

Pytanie

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

ja osobiście użyłem jakiegoś api nie wiedząc że taka metoda wgl istnieje w nowszych wersjach (lub już wcześniej istniała to się zalamalem) 

zapewne w pierwszym parametrze nazwa atrybutu (sprawdź czy istnieje jakaś klasa Attributes od bukkita, jak tak to pewnie tam siedzą statyczne stringi z poprawnymi nazwami) np. generic.attackDamage a drugi parametr to wartość czyli np.  1.4,potem musisz ponownie ustawić itemmete itemstackowi (niestety jestem na tel to nie przeczytam dokumentacji, a atrybuty nigdy mi potrzebne nie były, raz tylko zlecenie pisałem szgvkie) 

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/32121-dodanie-attribute/#findComment-208990
Udostępnij na innych stronach

  • 0
28 minut temu, yooniks napisał:

ja osobiście użyłem jakiegoś api nie wiedząc że taka metoda wgl istnieje w nowszych wersjach (lub już wcześniej istniała to się zalamalem) 

zapewne w pierwszym parametrze nazwa atrybutu (sprawdź czy istnieje jakaś klasa Attributes od bukkita, jak tak to pewnie tam siedzą statyczne stringi z poprawnymi nazwami) np. generic.attacmDamage a drugi parametrze to wartość czyli np.  1.4,potem musisz ponownie ustawić itemmete itemstackowi

hmmm: e55p2qubordw.png bez private static wywala błąd

 

Edytowane przez Szwagru
Odnośnik do komentarza
https://skript.pl/temat/32121-dodanie-attribute/#findComment-208991
Udostępnij na innych stronach

  • 0
50 minut temu, Szwagru napisał:

hmmm: e55p2qubordw.png bez private static wywala błąd

 

rzeczywiscie, pomylilem sie, tak jak mowilem, bez dokumentacji slabo, teraz na komputerze jestem to ci nawet przyklad daje:

    final ItemStack item = null;
    final ItemMeta meta = item.getItemMeta();
    final AttributeModifier attributeModifier = new AttributeModifier(UUID.randomUUID(), 
        "coolAttribute", 1.4, Operation.ADD_NUMBER, EquipmentSlot.HAND);
    meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, attributeModifier);
    item.setItemMeta(meta);

Kazdy atrybut musi miec inne uuid (nie moze sie powtarzac, inaczej po prostu nie zostanie nadany) Atrybut dziala tylko w glownej rece  (w tym przykladzie)

Odsylam do dokumentacji po wiecej: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/AttributeModifier.html

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/meta/ItemMeta.html#addAttributeModifier-org.bukkit.attribute.Attribute-org.bukkit.attribute.AttributeModifier-

@edit (itemstack dalem na null, tlyko dlatego ze to jest przyklad a potrzebowalem to zrobic w intelce, no a nie chcialo mi sie po prostu obiektu tworzyc, i tak nie musze tego testowac wiec dalem sobie nulla, zeby po prostu lapalo mi to jako itemstack)

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/32121-dodanie-attribute/#findComment-208999
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...