    001    package net.minecraft.src;
    002
    003    public class EntityAIDefendVillage extends EntityAITarget
    004    {
    005        EntityIronGolem irongolem;
    006
    007        /**
    008         * The aggressor of the iron golem's village which is now the golem's attack target.
    009         */
    010        EntityLiving villageAgressorTarget;
    011
    012        public EntityAIDefendVillage(EntityIronGolem par1EntityIronGolem)
    013        {
    014            super(par1EntityIronGolem, 16.0F, false, true);
    015            this.irongolem = par1EntityIronGolem;
    016            this.setMutexBits(1);
    017        }
    018
    019        /**
    020         * Returns whether the EntityAIBase should begin execution.
    021         */
    022        public boolean shouldExecute()
    023        {
    024            Village var1 = this.irongolem.getVillage();
    025
    026            if (var1 == null)
    027            {
    028                return false;
    029            }
    030            else
    031            {
    032                this.villageAgressorTarget = var1.findNearestVillageAggressor(this.irongolem);
    033                return this.isSuitableTarget(this.villageAgressorTarget, false);
    034            }
    035        }
    036
    037        /**
    038         * Execute a one shot task or start executing a continuous task
    039         */
    040        public void startExecuting()
    041        {
    042            this.irongolem.setAttackTarget(this.villageAgressorTarget);
    043            super.startExecuting();
    044        }
    045    }