@Override protected void initEntityAI() { tasks.addTask(0, new EntityAISwimming(this)); tasks.addTask(1, new EntityAIAvoidEntity(this, EntityPlayer.class, 10.0F, 0.7D, 0.5D)); tasks.addTask(2, new EntityAIAvoidEntity(this, EntityMob.class, 10.0F, 0.7D, 0.5D)); tasks.addTask(3, new EntityAIWander(this, 0.5D)); tasks.addTask(4, new EntityAIPanic(this, 0.7F)); tasks.addTask(5, new EntityAILookIdle(this)); }
@Override protected void initEntityAI() { tasks.addTask(0, new EntityAISwimming(this)); tasks.addTask(1, new EntityAIAvoidEntity(this, EntityPlayer.class, 10.0F, 0.7D, 0.6D)); tasks.addTask(2, new EntityAIAvoidEntity(this, EntityMob.class, 10.0F, 0.7D, 0.6D)); tasks.addTask(3, new EntityAIWanderAvoidWater(this, 0.6D)); tasks.addTask(4, new EntityAIPanic(this, 0.6D)); tasks.addTask(5, new EntityAILookIdle(this)); }
@Override protected void initEntityAI() { tasks.addTask(0, new EntityAISwimming(this)); tasks.addTask(1, new EntityAIAvoidEntity(this, EntityPlayer.class, 10.0F, 0.7D, 0.5D)); tasks.addTask(2, new EntityAIAvoidEntity(this, EntityMob.class, 10.0F, 0.7D, 0.5D)); tasks.addTask(3, new EntityAIWander(this, 0.5D)); tasks.addTask(4, new EntityAIPanic(this, 0.7F)); tasks.addTask(5, new EntityAILookIdle(this)); }
@SuppressWarnings({ "rawtypes", "unchecked" }) public EntityImp(World par1World) { super(par1World); this.setSize(0.9F, 0.9F); this.isImmuneToFire = true; this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAIPanic(this, 0.38F)); this.tasks.addTask(2, new EntityAITempt(this, 0.3F, soups, false)); this.tasks.addTask(3, new EntityAIMate(this, 0.25F)); this.tasks.addTask(4, new EntityAIAvoidEntity(this, EntityPlayer.class, 8.0F, 0.25F, 0.3F)); this.tasks.addTask(5, new EntityAIFollowParent(this, 0.28F)); this.tasks.addTask(6, new EntityAIWander(this, 0.25F)); this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); }
@Override protected void initEntityAI() { super.initEntityAI(); this.tasks.taskEntries.removeIf(entry -> entry.action instanceof EntityAIMoveIndoors || entry.action instanceof EntityAIVillagerMate || entry.action instanceof EntityAIFollowGolem); tasks.addTask(0, new EntityAIRestrictSun(this)); tasks.addTask(1, new EntityAIAvoidEntity<>(this, EntityCreature.class, VampirismAPI.factionRegistry().getPredicate(getFaction(), true, true, false, false, VReference.HUNTER_FACTION), 10, 0.45F, 0.55F)); tasks.addTask(2, new EntityAIMoveIndoorsDay(this)); tasks.addTask(5, new VampireAIFleeSun(this, 0.6F, true)); tasks.addTask(6, new EntityAIAttackMelee(this, 0.6F, false)); tasks.addTask(7, new VampireAIBiteNearbyEntity(this)); tasks.addTask(9, new VampireAIMoveToBiteable(this, 0.55F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); }
@Override protected void initEntityAI() { this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAIEatGrass(this)); this.tasks.addTask(1, new EntityAIPanic(this, 2.0)); this.tasks.addTask(2, new EntityAIMate(this, 1.0)); this.tasks.addTask(3, new EntityAITempt(this, 1.25, false, Sets.newHashSet(FoodHelper.getFoodItems(FoodType.PLANT)))); this.tasks.addTask(4, new EntityAIFollowParent(this, 1.25)); this.tasks.addTask(5, new EntityAIWander(this, 1.0)); this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(7, new EntityAILookIdle(this)); this.tasks.addTask(8, new EntityAIAvoidEntity<>(this, EntityWolf.class, 6.0F, 1.0F, 1.6F)); }
@Override protected void initEntityAI() { super.initEntityAI(); this.tasks.addTask(4, new VampireAIFleeGarlic(this, 0.9F, false)); this.tasks.addTask(5, new BaronAIAttackMelee(this, 1.0F)); this.tasks.addTask(6, new BaronAIAttackRanged(this, 60, 64, 6, 4)); this.tasks.addTask(6, new EntityAIAvoidEntity<>(this, EntityPlayer.class, input -> input != null && !isLowerLevel(input), 6.0F, 0.6, 0.7F));//TODO Works only partially. Pathfinding somehow does not find escape routes this.tasks.addTask(7, new EntityAIWander(this, 0.2)); this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 10.0F)); this.tasks.addTask(10, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, 10, true, false, input -> input != null && isLowerLevel(input))); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget<>(this, EntityVampireBaron.class, true, false)); }
@Override protected void initEntityAI() { super.initEntityAI(); this.tasks.addTask(1, new EntityAIAvoidEntity<>(this, EntityCreature.class, VampirismAPI.factionRegistry().getPredicate(getFaction(), false, true, false, false, VReference.HUNTER_FACTION), 10, 1.0, 1.1)); //this.tasks.addTask(3, new VampireAIFleeSun(this, 1F)); this.tasks.addTask(4, new EntityAIRestrictSun(this)); tasks.addTask(5, new EntityAIAttackMeleeNoSun(this, 0.9D, false)); this.experienceValue = 2; this.tasks.addTask(11, new EntityAIWander(this, 0.7)); this.tasks.addTask(13, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(15, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, 5, true, false, VampirismAPI.factionRegistry().getPredicate(getFaction(), true, false, true, false, null))); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget<>(this, EntityCreature.class, 5, true, false, VampirismAPI.factionRegistry().getPredicate(getFaction(), false, true, false, false, null))); }
((EntityCreeper) event.getEntity()).tasks.addTask(3, new EntityAIAvoidEntity<>((EntityCreeper) event.getEntity(), EntityPlayer.class, input -> input != null && VampirePlayer.get(input).getSpecialAttributes().avoided_by_creepers, 20, 1.1, 1.3));
@Override protected void initEntityAI() { super.initEntityAI(); if (world.getDifficulty() == EnumDifficulty.HARD) { //Only break doors on hard difficulty this.tasks.addTask(1, new EntityAIBreakDoor(this)); ((PathNavigateGround) this.getNavigator()).setBreakDoors(true); } this.tasks.addTask(2, new EntityAIAvoidEntity<>(this, EntityCreature.class, VampirismAPI.factionRegistry().getPredicate(getFaction(), false, true, false, false, VReference.HUNTER_FACTION), 10, 1.0, 1.1)); this.tasks.addTask(2, new VampireAIRestrictSun(this)); this.tasks.addTask(3, new VampireAIFleeSun(this, 0.9, false)); this.tasks.addTask(3, new VampireAIFleeGarlic(this, 0.9, false)); this.tasks.addTask(4, new EntityAIAttackMeleeNoSun(this, 1.0, false)); this.tasks.addTask(5, new VampireAIBiteNearbyEntity(this)); this.tasks.addTask(6, new VampireAIFollowAdvanced(this, 1.0)); this.tasks.addTask(7, new VampireAIMoveToBiteable(this, 0.75)); this.tasks.addTask(8, new EntityAIMoveThroughVillageCustom(this, 0.6, true, 600)); this.tasks.addTask(9, new EntityAIWander(this, 0.7)); this.tasks.addTask(10, new EntityAIWatchClosest(this, EntityPlayer.class, 20F, 0.6F)); this.tasks.addTask(10, new EntityAIWatchClosest(this, EntityHunterBase.class, 17F)); this.tasks.addTask(10, new EntityAILookIdle(this)); this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(4, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, 5, true, false, VampirismAPI.factionRegistry().getPredicate(getFaction(), true, false, true, false, null))); this.targetTasks.addTask(5, new EntityAINearestAttackableTarget<>(this, EntityCreature.class, 5, true, false, VampirismAPI.factionRegistry().getPredicate(getFaction(), false, true, false, false, null)));//TODO maybe make them not attack hunters, although it looks interesting }