Помогите Как проверить нажатие пкм с определённым предметом в руках?

AguRChek_TV

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
AguRChek_TV
Как проверить нажатие пкм с определённым предметом в руках?
 
PHP:
@EventHandler
void onPlayerInteract(PlayerInteractEvent event) {
 
    if (!event.hasItem()) return; //проверка на то, что в событие точно участвует предмет
    if ((event.getAction() != Action.RIGHT_CLICK_AIR) && (event.getAction() != Action.RIGHT_CLICK_BLOCK)) return; //действие в событие ПКМ по блоку или воздуху

    ItemStack itemStack = event.getItem();
 
    if (itemStack.getType() == Material.DIAMOND) {
        //todo
    }

}
 
PHP:
@EventHandler
void onPlayerInteract(PlayerInteractEvent event) {
 
    if (!event.hasItem()) return; //проверка на то, что в событие точно участвует предмет
    if ((event.getAction() != Action.RIGHT_CLICK_AIR) && (event.getAction() != Action.RIGHT_CLICK_BLOCK)) return; //действие в событие ПКМ по блоку или воздуху

    ItemStack itemStack = event.getItem();
 
    if (itemStack.getType() == Material.DIAMOND) {
        //todo
    }

}


Я пробовал примерно так же но у меня не работает:


@EventHandler
public void playerInteract(PlayerInteractEvent e){
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_BLOCK && a != Action.RIGHT_CLICK_AIR) return;
Player p = e.getPlayer();
ItemStack item = p.getItemInHand();
if(item.getType() == Material.COMPASS); {
p.sendMessage("Що кликаеЩъ");
}
}

-RIGHT_CLICK_BLOCK cannot be resolved or is not field
-RIGHT_CLICK_AIR cannot be resolved or is not field
 
Я пробовал примерно так же но у меня не работает:


@EventHandler
public void playerInteract(PlayerInteractEvent e){
Action a = e.getAction();
if(a != Action.RIGHT_CLICK_BLOCK && a != Action.RIGHT_CLICK_AIR) return;
Player p = e.getPlayer();
ItemStack item = p.getItemInHand();
if(item.getType() == Material.COMPASS); {
p.sendMessage("Що кликаеЩъ");
}
}

-RIGHT_CLICK_BLOCK cannot be resolved or is not field
-RIGHT_CLICK_AIR cannot be resolved or is not field
Сделай скрин лучше
 
Ты импортировал класс Action из awt, а должен был из баккита("org.bukkit.event.block").

Я вообще не понял что я не правильно сделал. Можно более развёрнуто объяснить. Я в этом вообще ничего не понимаю только начал разбираться, с помощью гугла и пытаюсь научиться.
 
Я вообще не понял что я не правильно сделал. Можно более развёрнуто объяснить. Я в этом вообще ничего не понимаю только начал разбираться, с помощью гугла и пытаюсь научиться.
Ну тк, если ты не понимаешь, что такое импорты, то ты явно рано начал писать плагины. Тут только один вариант, зубрить джаву, иначе никак.
 
Я вообще не понял что я не правильно сделал. Можно более развёрнуто объяснить. Я в этом вообще ничего не понимаю только начал разбираться, с помощью гугла и пытаюсь научиться.
Вот это импортируй, а от awt удали.
Код:
import org.bukkit.event.block.Action;
 
Я вообще не понял что я не правильно сделал. Можно более развёрнуто объяснить. Я в этом вообще ничего не понимаю только начал разбираться, с помощью гугла и пытаюсь научиться.
Развернутее некуда
Прочитай что такое import
 
Назад
Верх