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 }