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

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

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

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

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

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

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

    Баллы:
    66
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Извините за пустой пост, разобрался сам. Если кто-то интересуется, если кто искал, держите код, вдруг поможет:
    Код:
    //Вспомогательные переменные
    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);
      }
    }
    Возможно криво реализовано, я профан немного, но думаю суть ясна.
     
Статус темы:
Закрыта.

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