Как запретить починку голема?

  • Автор темы Автор темы Hamrusy
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Отменяешь взаимодействие с големом правым кликом если в руке железо
 
я пока сам новобранец в таких делах, но я бы попробовал начать с onPlayerInteract
 
я пока сам новобранец в таких делах, но я бы попробовал начать с onPlayerInteract
На будущее - указывай имя евента, а не имя метода. В твоем случае это PlayerInteractEvent, а не onPlayerInteract. Так как имя метода может быть вообще любым.

Тем не менее, тут скорее подойдёт PlayerInteractAtEntityEvent, в нём можно получить ентити, по которому кликает игрок. Ну дальше уже понятно, проверить голем ли это, и железо ли в руках игрока, если да - отменять евент.
 
На будущее - указывай имя евента, а не имя метода. В твоем случае это PlayerInteractEvent, а не onPlayerInteract. Так как имя метода может быть вообще любым.

Тем не менее, тут скорее подойдёт PlayerInteractAtEntityEvent, в нём можно получить ентити, по которому кликает игрок. Ну дальше уже понятно, проверить голем ли это, и железо ли в руках игрока, если да - отменять евент.
это я понял, но какой евент отменять
 
За работоспособность кода не ручаюсь, советую проверить
Код:
    @EventHandler
    public void onInteractGolem(PlayerInteractAtEntityEvent e) {
        Player p = e.getPlayer();
        Entity golem = e.getRightClicked();
        if(p.getItemInHand().getType() == Material.IRON_INGOT) {
            if(golem.getType() == EntityType.IRON_GOLEM) {
                p.sendActionBar(ChatColor.RED + "Голема нельзя чинить!");
                e.setCancelled(true);
            }
        }
    }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх