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

Помогите [Решено] Как сделать враждебного моба дружелюбным?

Discussion in 'Разработка плагинов для новичков' started by _TheZit445_, Jan 6, 2017.

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

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

    Trophy Points:
    66
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Приветствую. Ребята-умельцы, подскажите, как сделать враждебного моба, допустим зомби, дружелюбным к игроку. Чтобы он не агрился на него. Как это можно реализовать, подскажите, пожалуйста
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    _TheZit445_

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

    Trophy Points:
    66
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Извините за пустой пост, разобрался сам. Если кто-то интересуется, если кто искал, держите код, вдруг поможет:
    Code:
    //Вспомогательные переменные
    List<LivingEntity> mobs = new ArrayList<LivingEntity>();
    HashMap<LivingEntity, Player> check = new HashMap<LivingEntity, Player>();
    
    //Создание моба
    LivingEntity mob = (LivingEntity) loc.getWorld().spawnEntity(loc, EntityType.CREEPER);
    mobs.add(mob);
    check.put(mob, p);
    
    //Проверка цели
    @EventHandler
    public void mobTarget(EntityTargetEvent e){
      if (e.getTarget().getType()!=EntityType.PLAYER) return;
      LivingEntity ent = (LivingEntity) e.getEntity();
      if (mobs.contains(ent)) {
        Player p = check.get(ent);
        Player pc = (Player) e.getTarget();
        if (pc.equals(p)) e.setCancelled(true);
      }
    }
    Возможно криво реализовано, я профан немного, но думаю суть ясна.
     
Thread Status:
Not open for further replies.

Share This Page