From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: feat: TU19 (Dec 2014) Features & Content (#155) * try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki --- Minecraft.World/PathfinderMob.h | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'Minecraft.World/PathfinderMob.h') diff --git a/Minecraft.World/PathfinderMob.h b/Minecraft.World/PathfinderMob.h index fdbadf8c..1f2b86c7 100644 --- a/Minecraft.World/PathfinderMob.h +++ b/Minecraft.World/PathfinderMob.h @@ -7,6 +7,9 @@ class Path; class PathfinderMob : public Mob { +public: + static AttributeModifier *SPEED_MODIFIER_FLEEING; + private: static const int MAX_TURN = 30; @@ -22,6 +25,13 @@ protected: bool holdGround; int fleeTime; +private: + Pos *restrictCenter; + float restrictRadius; + Goal *leashRestrictionGoal; + bool addedLeashRestrictionGoal; + +protected: virtual bool shouldHoldGround(); virtual void serverAiStep(); virtual void findRandomStrollLocation(int quadrant = -1); @@ -35,13 +45,23 @@ protected: public: virtual bool canSpawn(); - bool isPathFinding(); - void setPath(Path *path); - shared_ptr getAttackTarget(); - void setAttackTarget(shared_ptr attacker); + virtual bool isPathFinding(); + virtual void setPath(Path *path); + virtual shared_ptr getAttackTarget(); + virtual void setAttackTarget(shared_ptr attacker); + + // might move to navigation, might make area + virtual bool isWithinRestriction(); + virtual bool isWithinRestriction(int x, int y, int z); + virtual void restrictTo(int x, int y, int z, int radius); + virtual Pos *getRestrictCenter(); + virtual float getRestrictRadius(); + virtual void clearRestriction(); + virtual bool hasRestriction(); protected: - float getWalkingSpeedModifier(); + void tickLeash(); + void onLeashDistance(float distanceToLeashHolder); // 4J added public: -- cgit v1.2.3