Esempio n. 1
0
        /// <summary>
        /// Updates the task
        /// </summary>
        public override void UpdateTask()
        {
            Field_48356_d--;

            if (TargetVillager != null)
            {
                if (VillagerObj.GetDistanceSqToEntity(TargetVillager) > 4D)
                {
                    VillagerObj.GetNavigator().Func_48667_a(TargetVillager, Field_48358_c);
                }
            }
            else if (VillagerObj.GetNavigator().NoPath())
            {
                Vec3D vec3d = RandomPositionGenerator.Func_48622_a(VillagerObj, 16, 3);

                if (vec3d == null)
                {
                    return;
                }

                VillagerObj.GetNavigator().Func_48666_a(vec3d.XCoord, vec3d.YCoord, vec3d.ZCoord, Field_48358_c);
            }
        }
        /// <summary>
        /// Updates the task
        /// </summary>
        public override void UpdateTask()
        {
            MatingTimeout--;
            VillagerObj.GetLookHelper().SetLookPositionWithEntity(Mate, 10F, 30F);

            if (VillagerObj.GetDistanceSqToEntity(Mate) > 2.25D)
            {
                VillagerObj.GetNavigator().Func_48667_a(Mate, 0.25F);
            }
            else if (MatingTimeout == 0 && Mate.GetIsMatingFlag())
            {
                GiveBirth();
            }

            if (VillagerObj.GetRNG().Next(35) == 0)
            {
                SpawnHeartParticles(VillagerObj);
            }
        }
 /// <summary>
 /// Resets the task
 /// </summary>
 public override void ResetTask()
 {
     TheGolem = null;
     TheVillager.GetNavigator().ClearPathEntity();
 }