Помогите PlayerItemDamageEvent хелп

DestKoder

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
DestKoder
Привет форумчане, у меня тут пара вопросов:

1 - При определенном условии мне надо удалить предмет у игрока. Пробовал удалять из инвентаря, но работает только с предметами, броню не удаляет. Как можно удалять броню?
2 - Как сделать звук мол итем сломался? playSound или есть альтернативный вариант? Какой саунд выбрать?
 
2. Для сломанного предмета отлично подойдёт звук BLOCK_ANVIL_BREAK
Код:
Player p = e.getPlayer();
p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_BREAK, 1, 1);
 
Если я правильно понял проблему, то так можешь удалять броню которая на игроке.

player.getInventory().setHelmet(null);
 
Если я правильно понял проблему, то так можешь удалять броню которая на игроке.

player.getInventory().setHelmet(null);
Однако у меня нет инфы что это шлем/нагрудник/ноги вы предлагаете мне сравнивать все варианты ног/шлемов/ нагрудников и удалять? Мне кажется должен быть иной способ
 
Ответили же выше, player.getInventory().setHelmet(null);
Вместо шлема можно использовать любой элемент брони
Я писал выше, я не знаю какой предмет сломался Шлем? а может нагрудник? а может кирка? Повторю вопрос неужели мне придется делать кучу условий для этого? Точно нет другого способа?

Ваш вариант рабочий, но мб кто-то знает способ проще поэтому оставляю вопрос актуальным.
 
Я писал выше, я не знаю какой предмет сломался Шлем? а может нагрудник? а может кирка? Повторю вопрос неужели мне придется делать кучу условий для этого? Точно нет другого способа?

Ваш вариант рабочий, но мб кто-то знает способ проще поэтому оставляю вопрос актуальным.
Код:
if (item.getType().toString().endsWith("_HELMET")) //удаляешь шлем
if (item.getType().toString().endsWith("_CHESTPLATE")) //удаляешь нагрудник
if (item.getType().toString().endsWith("_LEGGINGS")) //удаляешь штаны
if (item.getType().toString().endsWith("_BOOTS")) //удаляешь ботинки
 
Назад
Верх