/// <summary> /// Updates the task /// </summary> public override void UpdateTask() { if (TheEntity.GetDistanceSqToEntity(Field_48240_d) < 49D) { TheEntity.GetNavigator().SetSpeed(Field_48243_c); } else { TheEntity.GetNavigator().SetSpeed(Field_48242_b); } }
/// <summary> /// Returns whether the EntityAIBase should begin execution. /// </summary> public override bool ShouldExecute() { Func_48286_h(); if (Field_48289_e && TheEntity.WorldObj.IsDaytime()) { return(false); } Village village = TheEntity.WorldObj.VillageCollectionObj.FindNearestVillage(MathHelper2.Floor_double(TheEntity.PosX), MathHelper2.Floor_double(TheEntity.PosY), MathHelper2.Floor_double(TheEntity.PosZ), 0); if (village == null) { return(false); } DoorInfo = Func_48284_a(village); if (DoorInfo == null) { return(false); } bool flag = TheEntity.GetNavigator().Func_48665_b(); TheEntity.GetNavigator().SetBreakDoors(false); Field_48291_c = TheEntity.GetNavigator().GetPathToXYZ(DoorInfo.PosX, DoorInfo.PosY, DoorInfo.PosZ); TheEntity.GetNavigator().SetBreakDoors(flag); if (Field_48291_c != null) { return(true); } Vec3D vec3d = RandomPositionGenerator.Func_48620_a(TheEntity, 10, 7, Vec3D.CreateVector(DoorInfo.PosX, DoorInfo.PosY, DoorInfo.PosZ)); if (vec3d == null) { return(false); } else { TheEntity.GetNavigator().SetBreakDoors(false); Field_48291_c = TheEntity.GetNavigator().GetPathToXYZ(vec3d.XCoord, vec3d.YCoord, vec3d.ZCoord); TheEntity.GetNavigator().SetBreakDoors(flag); return(Field_48291_c != null); } }
public EntityAIAvoidEntity(EntityCreature par1EntityCreature, Type par2Class, float par3, float par4, float par5) { TheEntity = par1EntityCreature; TargetEntityClass = par2Class; Field_48241_e = par3; Field_48242_b = par4; Field_48243_c = par5; EntityPathNavigate = par1EntityCreature.GetNavigator(); SetMutexBits(1); }
/// <summary> /// Execute a one shot task or start executing a continuous task /// </summary> public override void StartExecuting() { Field_48276_c = TemptingPlayer.PosX; Field_48273_d = TemptingPlayer.PosY; Field_48274_e = TemptingPlayer.PosZ; Field_48280_j = true; Field_48279_m = TemptedEntity.GetNavigator().Func_48658_a(); TemptedEntity.GetNavigator().Func_48664_a(false); }
/// <summary> /// Returns whether an in-progress EntityAIBase should continue executing /// </summary> public override bool ContinueExecuting() { return(!TheCreature.GetNavigator().NoPath()); }