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

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

Discussion in 'Разработка плагинов для новичков' started by AlexeiGL, Dec 28, 2015.

Thread Status:
Not open for further replies.
  1. Автор темы
    AlexeiGL

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

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

    Code:
    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 Активный участник Пользователь

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

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

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

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

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

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

    Trophy Points:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Лучше:
    Code:
    e.getEntity().getType() == EntityType.WOLF
    [DOUBLEPOST=1451395602,1451394918][/DOUBLEPOST]
    Code:
    @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 Активный участник Пользователь

    Trophy Points:
    88
    Имя в Minecraft:
    Agravaine25
    Та я забыл, что тут мобы в энуме )
     
Thread Status:
Not open for further replies.

Share This Page