Помогите NMS, добавление и удаление цели [МОБЫ]

IcedwinterZ

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
IcedwinterZ
Как добавить мобов, на которых энтити должен нападать? Знаю что через goalSelector но как конкретнее, если можно, с примером (нагло выпрашиваю код).


Спасибо!
 
Залез в ведро (нет не в то ведро, в котором воду носят), и нашел там это:

Код:
 if (this.world.spigotConfig.zombieAggressiveTowardsVillager) {
      this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityVillager.class, false));
    }
    this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityIronGolem.class, true));
Впринципе, я то понял, как это устроено, но для меня остается загадкой, еще кое что.
Смотрите, зомби же атакует и Жителя и Голема,
с големом понятно, у него 2-ой аргумент true, а у жителя false, но он ведь его атакует.

Еще, цифра которая 0-ым аргументом, это типа ИДА? А булевая в конце конструктора это приоритет или как?
 
Я это смотрел, выставил все, как смотрел в ядре, поменял класс цели только, но он все равно не атакует скелета

Код:
public static void setTargetsMob(Entity e){
        if(!((EntityInsentient)((CraftEntity) e).getHandle() instanceof EntityCreature)){
            return;
        }
        EntityCreature nms = (EntityCreature) ((EntityInsentient)((CraftEntity) e).getHandle());
        nms.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(nms, EntityZombie.class, true));
        nms.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget(nms, EntitySkeleton.class, true));
        nms.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget(nms, EntityCreeper.class, true));
    }
(Сделал так, потому что для каждого моба отдельные цели)
 
Я это смотрел, выставил все, как смотрел в ядре, поменял класс цели только, но он все равно не атакует скелета

Код:
public static void setTargetsMob(Entity e){
        if(!((EntityInsentient)((CraftEntity) e).getHandle() instanceof EntityCreature)){
            return;
        }
        EntityCreature nms = (EntityCreature) ((EntityInsentient)((CraftEntity) e).getHandle());
        nms.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(nms, EntityZombie.class, true));
        nms.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget(nms, EntitySkeleton.class, true));
        nms.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget(nms, EntityCreeper.class, true));
    }
(Сделал так, потому что для каждого моба отдельные цели)
Потому что задачи 3, 4 и 5 уже существуют.
 
Потому что задачи 3, 4 и 5 уже существуют.
А я уже сделал, пасиб, просто забыл закрыть тему. Я очищал таргеты и гоал селекторы, потом просто делал свои задачи. Спасибо ;)
 
Назад
Верх