1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Параметры предмета

Тема в разделе "Разработка плагинов для новичков", создана пользователем Namudos, 9 июн 2019.

  1. Автор темы
    Namudos

    Namudos Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Uninstal
    Здравствуйте! У меня есть вопрос.
    Допустим, у меня есть кожаный шлем и мне нужно изменить ему максимальную прочность (сделать как у алмазного шлема) и установить очки защиты (тоже как у алмазного).
    Еще доспустим, у меня есть деревянный меч, которому нужно установить урон, как у алмазного или другого меча.
    Как это все реализовать?
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Прочность - хранить кастомное значение прочности в описании предмета или (в новых версия) в кастомном нбт.
    По поводу защиты - использовать атрибут крепости брони.
    Урон - опять же, либо в описании или в нбт, либо, вновь, атрибутом, но уже урон. Со вторым вариантом могут быть проблемы при удерживании предметов в двух руках(кажется, у лука повышается урон, если держать такой предмет).

    Когда будешь использовать атрибуты - не забудь в AttributeModifier указать требуемый слот.
     
  3. Автор темы
    Namudos

    Namudos Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Uninstal
    Можешь привести пример как добавить атрибут, а то либо я что-то не понимаю, либо у меня в ItemMeta нету методов связанных с атрибутами.
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
            ItemMeta meta = item.getItemMeta();
            PersistentDataContainer tag = meta.getPersistentDataContainer();
            tag.set(NamespacedKey.minecraft("cmd"), PersistentDataType.STRING,"cmd");
            item.setItemMeta(meta);
     
  5. Автор темы
    Namudos

    Namudos Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Uninstal
    У меня нету метода getPersistentDataContainer()
    Если что, версия 1.12.2
     
  6. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    ItemMeta, Attribute, AttributeModifier, AttributeModfier.Operation, EquipmentSlot.
    Код:
    ItemMeta meta = item.getItemMeta();
    AttributeModifier mod = new AttributeModifier(UUID.randomUUID(), "generic.armorToughness", 0.2, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.CHEST);
    meta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS, mod);
    item.setItemMeta(meta);
     
  7. Автор темы
    Namudos

    Namudos Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Uninstal
    У меня нету такого метода, кидаю скрин.
    upload_2019-6-29_16-5-18.png
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Да потому что все вкусняшки с 1.13+ пришли. На 1.14 только название поменяли.
     
  9. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX

Поделиться этой страницей