package joshie.harvest.npcs.entity.ai;
import joshie.harvest.npcs.entity.EntityNPC;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
public class EntityAITalkingTo extends EntityAIBase {
private final EntityNPC npc;
public EntityAITalkingTo(EntityNPC npc) {
this.npc = npc;
this.setMutexBits(1);
}
@Override
public boolean shouldExecute() {
if (!npc.isEntityAlive()) {
return false;
} else if (npc.isInWater()) {
return false;
} else if (!npc.onGround) {
return false;
} else if (npc.velocityChanged) {
return false;
} else {
EntityPlayer entityplayer = npc.getTalkingTo();
return entityplayer != null && npc.getDistanceSqToEntity(entityplayer) < 3.0D && entityplayer.openContainer != null;
}
}
@Override
public void startExecuting() {
npc.getNavigator().clearPathEntity();
}
}