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

Помогите Как добавить прочность предмету? [РЕШЕНО]

Тема в разделе "Разработка плагинов для новичков", создана пользователем ДмитрийDL, 18 сен 2019.

Статус темы:
Закрыта.
  1. Автор темы
    ДмитрийDL

    ДмитрийDL Новичок

    Баллы:
    16
    Имя в Minecraft:
    Dem_Lok
    Всем привет! Недавно я сделал плагин на джетпак, но не знаю как создать ему прочность:cry:( Помогите пожалуйста! (пример- Джетпак 100%)

    Спасибо заранее)
     
  2. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    Можно засунуть в NBT предмета, можно в Lore, можно в прочность предмета minecraft
     
  3. Автор темы
    ДмитрийDL

    ДмитрийDL Новичок

    Баллы:
    16
    Имя в Minecraft:
    Dem_Lok
    Спасибо, но мне нужно, что бы с каждым кликом прочность уменьшалось (right click)
     
  4. alexandrage

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

    Баллы:
    173
    Код:
            ItemMeta meta = stack.getItemMeta();
            if (meta instanceof Damageable) {
                ((Damageable) meta).setDamage(int);
            }
     
  5. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    Там что-то вроде onPlayerInteractEvent (или onItemUseEvent) нужно слушать и при соответствующем условии взять мету и setDamage(getDamage-1) (если не damage то дурабилити)
     
  6. Автор темы
    ДмитрийDL

    ДмитрийDL Новичок

    Баллы:
    16
    Имя в Minecraft:
    Dem_Lok
    Спасибо, проверю!
     
  7. Автор темы
    ДмитрийDL

    ДмитрийDL Новичок

    Баллы:
    16
    Имя в Minecraft:
    Dem_Lok
    Не работает, вот мой код:

    mclog.info(event.getPlayer().getName() + "- Damageable!!!------------------------------------------");
    ((Damageable) meta).damage(0); //устанавливаем дамаг
    mclog.info(event.getPlayer().getName() + "- Damageable2!!!------------------------------------------"); //проверяем,
    выполнилось ли "((Damageable) meta).damage(0);"

    В данный момент, у меня не работает "((Damageable) meta).damage(0);" и я не получаю в консоль сообщение "Damageable2!!!-----------------------------------------"!
    С первым "Damageable!!!-----------------------------------------" все нормально!
     
  8. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Либо setDamage(getDamage() - 1), либо просто damage(1)
    Конечно, у тебя оба сообщения будут выводиться, это же линейный код
     
  9. Автор темы
    ДмитрийDL

    ДмитрийDL Новичок

    Баллы:
    16
    Имя в Minecraft:
    Dem_Lok
    "((Damageable) meta).damage(0);" - с этим была ошибка - интерфейс оказался не Damageable

    А вот с этим заработало:
    player.getItemInHand().setDurability((short) 5);

    Спасибо всем за идеи :good:

    Тему можно ЗАКРЫТЬ!
     
  10. alexandrage

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

    Баллы:
    173
    Damageable только у тулзов имеющих прочность. setDurability устарел. А это player.getItemInHand() устарело когда у стива стало две руки.
     
Статус темы:
Закрыта.

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