    001    package net.minecraft.src;
    002
    003    public class EntityAIOpenDoor extends EntityAIDoorInteract
    004    {
    005        boolean field_75361_i;
    006        int field_75360_j;
    007
    008        public EntityAIOpenDoor(EntityLiving par1EntityLiving, boolean par2)
    009        {
    010            super(par1EntityLiving);
    011            this.theEntity = par1EntityLiving;
    012            this.field_75361_i = par2;
    013        }
    014
    015        /**
    016         * Returns whether an in-progress EntityAIBase should continue executing
    017         */
    018        public boolean continueExecuting()
    019        {
    020            return this.field_75361_i && this.field_75360_j > 0 && super.continueExecuting();
    021        }
    022
    023        /**
    024         * Execute a one shot task or start executing a continuous task
    025         */
    026        public void startExecuting()
    027        {
    028            this.field_75360_j = 20;
    029            this.targetDoor.onPoweredBlockChange(this.theEntity.worldObj, this.entityPosX, this.entityPosY, this.entityPosZ, true);
    030        }
    031
    032        /**
    033         * Resets the task
    034         */
    035        public void resetTask()
    036        {
    037            if (this.field_75361_i)
    038            {
    039                this.targetDoor.onPoweredBlockChange(this.theEntity.worldObj, this.entityPosX, this.entityPosY, this.entityPosZ, false);
    040            }
    041        }
    042
    043        /**
    044         * Updates the task
    045         */
    046        public void updateTask()
    047        {
    048            --this.field_75360_j;
    049            super.updateTask();
    050        }
    051    }