Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Как Убрать урон от руки в маинкрафте

RokerPlay

Ньюби
Баллы
1
Имя в Minecraft
ROKeR_PLAY
Доброго времени суток сталкнулся с проблемой нужно отключить возможность драться с мобами/игроками рукой вообще перерыл пол интернета информации по этому Ноль пожалуста если ктото чтото знает буду очень благодарен если поможете
 
Код:
    @EventHandler
    private void onDamage(EntityDamageByEntityEvent event) { //Событие EntityDamageByEntityEvent вызывается когда сущность наносит урон другой сущности
        Entity damager = event.getDamager(); //Получение атакующего
        if(damager.getType()!=EntityType.PLAYER) { //Проверка является ли атакующая сущность не игроком
            return; //Прекращение исполнения метода
        }
        Player damagerplayer = (Player)damager; //Присвоение типа Player атакующему
        if(damagerplayer.getInventory().getItemInMainHand().getType()!=Material.AIR) { //Проверка является ли материал в руке атакующего игрока не воздухом
            return; //Прекращение исполнения метода
        }
        event.setCancelled(true); //Отмена события нанесения урона
    }
 
Код:
    @EventHandler
    private void onDamage(EntityDamageByEntityEvent event) { //Событие EntityDamageByEntityEvent вызывается когда сущность наносит урон другой сущности
        Entity damager = event.getDamager(); //Получение атакующего
        if(damager.getType()!=EntityType.PLAYER) { //Проверка является ли атакующая сущность не игроком
            return; //Прекращение исполнения метода
        }
        Player damagerplayer = (Player)damager; //Присвоение типа Player атакующему
        if(damagerplayer.getInventory().getItemInMainHand().getType()!=Material.AIR) { //Проверка является ли материал в руке атакующего игрока не воздухом
            return; //Прекращение исполнения метода
        }
        event.setCancelled(true); //Отмена события нанесения урона
    }
Код:
    @EventHandler
    private void onDamage(EntityDamageByEntityEvent event) { //Событие EntityDamageByEntityEvent вызывается когда сущность наносит урон другой сущности
        Entity damager = event.getDamager(); //Получение атакующего
        if(damager.getType()!=EntityType.PLAYER) { //Проверка является ли атакующая сущность не игроком
            return; //Прекращение исполнения метода
        }
        Player damagerplayer = (Player)damager; //Присвоение типа Player атакующему
        if(damagerplayer.getInventory().getItemInMainHand().getType()!=Material.AIR) { //Проверка является ли материал в руке атакующего игрока не воздухом
            return; //Прекращение исполнения метода
        }
        event.setCancelled(true); //Отмена события нанесения урона
    }
Прости что задаю такой тупой вопрос а как его вставить в игру)?
 
if(damager.getType()!=EntityType.PLAYER) { //Проверка является ли атакующая сущность не игроком return; //Прекращение исполнения метода }
Кстати а не лучше ли использовать if (!(damager instanceof Player)) return;
 
я немного тупенький в этой теме тупенький не очень давно занимаюсь разработкой серверов по этому очень благодарен за любую помощь
Ты типа не знаешь как устанавливать плагины?
 
Код:
    @EventHandler
    private void onDamage(EntityDamageByEntityEvent event) { //Событие EntityDamageByEntityEvent вызывается когда сущность наносит урон другой сущности
        Entity damager = event.getDamager(); //Получение атакующего
        if(damager.getType()!=EntityType.PLAYER) { //Проверка является ли атакующая сущность не игроком
            return; //Прекращение исполнения метода
        }
        Player damagerplayer = (Player)damager; //Присвоение типа Player атакующему
        if(damagerplayer.getInventory().getItemInMainHand().getType()!=Material.AIR) { //Проверка является ли материал в руке атакующего игрока не воздухом
            return; //Прекращение исполнения метода
        }
        event.setCancelled(true); //Отмена события нанесения урона
    }
Кстати, лучше вообще использовать preplayerattackentityevent
 
нуууу скомпилировать :rolleyes:
C

Скопировать скопировал а куда что вставлять то ?)
Скопировать, вставить в какую нибудь Java IDE и скомпилировать.
Кстати, лучше вообще использовать preplayerattackentityevent
Согласен.
 

Поделиться этой страницей

Назад
Верх