Leo_Gesser
Активный участник
- Баллы
- 61
Доброго времени суток уважаемые форумчане!
Столкнулся с проблемой, мне требуется на сервере (1.8) крафтбаккит спигот запретить подбирание определенного лута (алмазных блоков и стекла). Придумал такой код для стекла:
@EventHandler
public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
if(deny.getItem().getMaterial() == Material.GLASS) {
deny.setCancelled(true);
}
Но увы, стекло все равно поднимается. В иных случаях либо полностью перестают подбираться все предматы, либо подбирается всё как обычно. Мне не нужны сторонние плагины, хочется сделать самому. Но я никак не могу понять, каким образом мне "взять" именно блок стекла, чтобы отменить событие его поднятия.
Еще есть такая мысль:
public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
ItemStack item = new ItemStack(Material.GLASS);
if(deny.getItem().equals(item)){
deny.setCancelled(true);
}
Но в этом случае у меня не импортируется класс Material, не знаю почему. Подскажите, я уже весь гугл облазил(((
Столкнулся с проблемой, мне требуется на сервере (1.8) крафтбаккит спигот запретить подбирание определенного лута (алмазных блоков и стекла). Придумал такой код для стекла:
@EventHandler
public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
if(deny.getItem().getMaterial() == Material.GLASS) {
deny.setCancelled(true);
}
Но увы, стекло все равно поднимается. В иных случаях либо полностью перестают подбираться все предматы, либо подбирается всё как обычно. Мне не нужны сторонние плагины, хочется сделать самому. Но я никак не могу понять, каким образом мне "взять" именно блок стекла, чтобы отменить событие его поднятия.
Еще есть такая мысль:
public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
ItemStack item = new ItemStack(Material.GLASS);
if(deny.getItem().equals(item)){
deny.setCancelled(true);
}
Но в этом случае у меня не импортируется класс Material, не знаю почему. Подскажите, я уже весь гугл облазил(((
Последнее редактирование: