1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Получение урона

Тема в разделе "Разработка плагинов для новичков", создана пользователем WiZaPaNXD, 21 дек 2018.

Статус темы:
Закрыта.
  1. Автор темы
    WiZaPaNXD

    WiZaPaNXD Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    WiZaPaNXD
    Используя ивент EntityDamageEvent c помощью строчки
    e.getEntity() instanceof Player - я получаю урон, если меня атакует Игрок. Возможно ли как нибудь получить урон от мобов(в целом и отдельно, то есть, от зомби, скелетов и т.д.).
    И еще интересует получение урона от дальних атак. Заранее спасибо =)
     
  2. NyanGuyMF

    NyanGuyMF Активный участник Пользователь

    Баллы:
    76
    Пример подобного метода:
    PHP:
        /**
         * <b>This method redirects the processing of the event by
         * damager and damaged entities</b>
         *
         * <p>If damaged entity is monster's object and damager entity
         * is player's object it will run {@link #handleMonsterByPlayer(Monster, Player)}
         * method.</p>
         *
         * <p>If both entities is player's object it will run {@link #handlePlayerByPlayer(Player, Player)}</p>
         *
         * <p>If damaged entities is player's object and damager entity is
         * monster's object it will run {@link #handlePlayerByMonster(Player, Monster)}</p>
         *
         * @param event
         */
        
    @EventHandler(priority EventPriority.HIGHEST)
        public 
    void onEntityDamage(EntityDamageByEntityEvent event) {
            if (
    event.isCancelled()) {
                return;
            }

            
    Entity damager  event.getDamager();
            
    Entity damaged  event.getEntity();

            if ((
    damaged instanceof Monster) && (damager instanceof Player)) {
                
    handleMonsterByPlayer((Monsterdamaged, (Playerdamager);
            } else if ((
    damaged instanceof Player) && (damager instanceof Player)) {
                
    handlePlayerByPlayer((Playerdamaged, (Playerdamager);
            } else if ((
    damaged instanceof Player) && (damager instanceof Monster)) {
                
    handlePlayerByMonster((Playerdamaged, (Monsterdamager);
            }
        }
     
Статус темы:
Закрыта.

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