Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    MrAlexei
    Как можно запретить убивать прирученного волка с 5 000ХП?

    Код:
    public void onEnable()
      {
        getServer().getPluginManager().registerEvents(this, this);
      }
    
      @EventHandler
      public void onSpawn(CreatureSpawnEvent e) {
        if (e.isCancelled()) {
          return;
        }
    
        if ((e.getSpawnReason() == CreatureSpawnEvent.SpawnReason.EGG) || ((e.getSpawnReason() == CreatureSpawnEvent.SpawnReason.SPAWNER_EGG) && (e.getEntity().getType() == EntityType.WOLF) && (e.getEntity().getHealth() < 10))) {
          e.getEntity().setMaxHealth(10000);
          e.getEntity().setHealth(5000);
        }
      }
    }
     
  2. Хостинг MineCraft
    <
  3. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    Приведи волка к типу Tameable. После проверь, приручен ли он при помощи метода isTamed().
     
  4. Автор темы
    AlexeiGL

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

    Баллы:
    76
    Имя в Minecraft:
    MrAlexei
    А как именно это можно сделать?
     
  5. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Есть же событие урона, верно?
    В нем проверяешь, что если моб instanceof волк и волк.isTamed(), то отменяешь событие.
     
  6. MrTrojan

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

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Лучше:
    Код:
    e.getEntity().getType() == EntityType.WOLF
    [DOUBLEPOST=1451395602,1451394918][/DOUBLEPOST]
    Код:
    @EventHandler
        public void onDamage(EntityDamageByEntityEvent e) {
            if(e.getEntity().getType() == EntityType.WOLF) {
                Wolf w = (Wolf) e.getEntity();
               
                if(w.isTamed()) {
                    e.setCancelled(true);
                }
            }
        }
     
  7. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Та я забыл, что тут мобы в энуме )
     
Статус темы:
Закрыта.

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