Помогите Как отменить подбираение определенного блока? 1.8

Статус
Закрыто для дальнейших ответов.

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, не знаю почему. Подскажите, я уже весь гугл облазил(((
 
Последнее редактирование:
deny.getItem().getMaterial().equals(Material.GLASS) - Попробуй так
 
Спасибо, попробую)


public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
if(deny.getItem().getMaterial().equals(Material.GLASS)) {
deny.setCancelled(true);
}


Но видимо я нуб из нубов( Пишет .equals используется для несовместимых типов. И все продолжает подбираться. Все равно спасибо
 
вот дискорд добався помогу JHIID13#8043

блин как добавить( добавьте меня если можно. как же я ненавижу он пестрит этот дискорд, окна, окна.. авторизация не из того места. Господи за что мне всё это(( в моем возрасте только экспериментировать..

добавьте меня если можно 136-й#8367
 
Спасибо за помощь Jhiid! Теперь все норм


@EventHandler
public void onPlayerPickupItemEvent(PlayerPickupItemEvent deny) {
if(deny.getItem().getItemStack().getType().equals(Material.GLASS)) {
deny.setCancelled(true);
}


Этот код работает, оказалось что не хватало .getItemStack()
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх