/// <summary> /// Returns whether the EntityAIBase should begin execution. /// </summary> public override bool ShouldExecute() { if (Entity.GetAge() >= 100) { return(false); } if (Entity.GetRNG().Next(120) != 0) { return(false); } Vec3D vec3d = RandomPositionGenerator.Func_48622_a(Entity, 10, 7); if (vec3d == null) { return(false); } else { Field_46098_b = vec3d.XCoord; Field_46099_c = vec3d.YCoord; Field_46097_d = vec3d.ZCoord; return(true); } }
/// <summary> /// Returns whether the EntityAIBase should begin execution. /// </summary> public override bool ShouldExecute() { if (EntityObj.WorldObj.IsDaytime() && !EntityObj.WorldObj.IsRaining() || EntityObj.WorldObj.WorldProvider.HasNoSky) { return(false); } if (EntityObj.GetRNG().Next(50) != 0) { return(false); } if (InsidePosX != -1 && EntityObj.GetDistanceSq(InsidePosX, EntityObj.PosY, InsidePosZ) < 4D) { return(false); } Village village = EntityObj.WorldObj.VillageCollectionObj.FindNearestVillage(MathHelper2.Floor_double(EntityObj.PosX), MathHelper2.Floor_double(EntityObj.PosY), MathHelper2.Floor_double(EntityObj.PosZ), 14); if (village == null) { return(false); } else { DoorInfo = village.FindNearestDoorUnrestricted(MathHelper2.Floor_double(EntityObj.PosX), MathHelper2.Floor_double(EntityObj.PosY), MathHelper2.Floor_double(EntityObj.PosZ)); return(DoorInfo != null); } }