package net.minecraft.entity.ai; import net.minecraft.entity.EntityLiving; public class EntityAIOpenDoor extends EntityAIDoorInteract { /** If the entity close the door */ boolean closeDoor; /** The temporisation before the entity close the door (in ticks, always 20 = 1 second) */ int closeDoorTemporisation; private static final String __OBFID = "CL_00001603"; public EntityAIOpenDoor(EntityLiving p_i1644_1_, boolean p_i1644_2_) { super(p_i1644_1_); this.theEntity = p_i1644_1_; this.closeDoor = p_i1644_2_; } /** * Returns whether an in-progress EntityAIBase should continue executing */ public boolean continueExecuting() { return this.closeDoor && this.closeDoorTemporisation > 0 && super.continueExecuting(); } /** * Execute a one shot task or start executing a continuous task */ public void startExecuting() { this.closeDoorTemporisation = 20; this.doorBlock.func_150014_a(this.theEntity.worldObj, this.entityPosX, this.entityPosY, this.entityPosZ, true); } /** * Resets the task */ public void resetTask() { if (this.closeDoor) { this.doorBlock.func_150014_a(this.theEntity.worldObj, this.entityPosX, this.entityPosY, this.entityPosZ, false); } } /** * Updates the task */ public void updateTask() { --this.closeDoorTemporisation; super.updateTask(); } }