You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
package net.minecraft.entity.ai;
 | 
						|
 | 
						|
import net.minecraft.entity.EntityLivingBase;
 | 
						|
import net.minecraft.entity.passive.EntityTameable;
 | 
						|
 | 
						|
public class EntityAISit extends EntityAIBase
 | 
						|
{
 | 
						|
    private EntityTameable theEntity;
 | 
						|
    /** If the EntityTameable is sitting. */
 | 
						|
    private boolean isSitting;
 | 
						|
    private static final String __OBFID = "CL_00001613";
 | 
						|
 | 
						|
    public EntityAISit(EntityTameable p_i1654_1_)
 | 
						|
    {
 | 
						|
        this.theEntity = p_i1654_1_;
 | 
						|
        this.setMutexBits(5);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns whether the EntityAIBase should begin execution.
 | 
						|
     */
 | 
						|
    public boolean shouldExecute()
 | 
						|
    {
 | 
						|
        if (!this.theEntity.isTamed())
 | 
						|
        {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        else if (this.theEntity.isInWater())
 | 
						|
        {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        else if (!this.theEntity.onGround)
 | 
						|
        {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            EntityLivingBase entitylivingbase = this.theEntity.getOwner();
 | 
						|
            return entitylivingbase == null ? true : (this.theEntity.getDistanceSqToEntity(entitylivingbase) < 144.0D && entitylivingbase.getAITarget() != null ? false : this.isSitting);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Execute a one shot task or start executing a continuous task
 | 
						|
     */
 | 
						|
    public void startExecuting()
 | 
						|
    {
 | 
						|
        this.theEntity.getNavigator().clearPathEntity();
 | 
						|
        this.theEntity.setSitting(true);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resets the task
 | 
						|
     */
 | 
						|
    public void resetTask()
 | 
						|
    {
 | 
						|
        this.theEntity.setSitting(false);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Sets the sitting flag.
 | 
						|
     */
 | 
						|
    public void setSitting(boolean p_75270_1_)
 | 
						|
    {
 | 
						|
        this.isSitting = p_75270_1_;
 | 
						|
    }
 | 
						|
} |