package net.minecraft.entity.ai;

import net.minecraft.entity.EntityCreature;
import net.minecraft.util.Vec3;

public class EntityAIWander extends EntityAIBase
{
	private EntityCreature entity;
	private double xPosition;
	private double yPosition;
	private double zPosition;
	private double speed;
	private static final String __OBFID = "CL_00001608";

	public EntityAIWander(EntityCreature par1EntityCreature, double par2)
	{
		this.entity = par1EntityCreature;
		this.speed = par2;
		this.setMutexBits(1);
	}

	public boolean shouldExecute()
	{
		if (this.entity.getAge() >= 100)
		{
			return false;
		}
		else if (this.entity.getRNG().nextInt(120) != 0)
		{
			return false;
		}
		else
		{
			Vec3 vec3 = RandomPositionGenerator.findRandomTarget(this.entity, 10, 7);

			if (vec3 == null)
			{
				return false;
			}
			else
			{
				this.xPosition = vec3.xCoord;
				this.yPosition = vec3.yCoord;
				this.zPosition = vec3.zCoord;
				return true;
			}
		}
	}

	public boolean continueExecuting()
	{
		return !this.entity.getNavigator().noPath();
	}

	public void startExecuting()
	{
		this.entity.getNavigator().tryMoveToXYZ(this.xPosition, this.yPosition, this.zPosition, this.speed);
	}
}