package joshie.harvest.npcs.entity; import joshie.harvest.api.npc.NPC; import joshie.harvest.npcs.HFNPCs; import joshie.harvest.npcs.entity.ai.EntityAITalkingTo; import net.minecraft.entity.ai.EntityAIOpenDoor; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.pathfinding.PathNavigateGround; import net.minecraft.world.World; public class EntityNPCMiner extends EntityNPCHuman<EntityNPCMiner> { @SuppressWarnings("unused") public EntityNPCMiner(World world) { this(world, HFNPCs.MINER); } public EntityNPCMiner(World world, NPC npc) { super(world, npc); } private EntityNPCMiner(EntityNPCMiner entity) { this(entity.worldObj, entity.npc); } @Override protected EntityNPCMiner getNewEntity(EntityNPCMiner entity) { return new EntityNPCMiner(entity); } @Override protected void initEntityAI() { ((PathNavigateGround) getNavigator()).setEnterDoors(true); ((PathNavigateGround) getNavigator()).setBreakDoors(true); tasks.addTask(0, new EntityAISwimming(this)); tasks.addTask(1, new EntityAITalkingTo(this)); tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); tasks.addTask(4, new EntityAIOpenDoor(this, true)); tasks.addTask(6, new EntityAIWander(this, 0.5D)); tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 3.0F, 1.0F)); tasks.addTask(9, new EntityAIWatchClosest(this, EntityNPC.class, 5.0F, 0.02F)); } }