aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/NearestAttackableTargetGoal.h
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/NearestAttackableTargetGoal.h
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.World/NearestAttackableTargetGoal.h')
-rw-r--r--Minecraft.World/NearestAttackableTargetGoal.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/Minecraft.World/NearestAttackableTargetGoal.h b/Minecraft.World/NearestAttackableTargetGoal.h
new file mode 100644
index 00000000..a10e9264
--- /dev/null
+++ b/Minecraft.World/NearestAttackableTargetGoal.h
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "TargetGoal.h"
+
+class NearestAttackableTargetGoal : public TargetGoal
+{
+public:
+ class DistComp
+ {
+ private:
+ Entity *source;
+
+ public:
+ DistComp(Entity *source);
+
+ bool operator() (shared_ptr<Entity> e1, shared_ptr<Entity> e2);
+ };
+
+private:
+ weak_ptr<Mob> target;
+ const type_info& targetType;
+ int randomInterval;
+ DistComp *distComp;
+
+public:
+ //public NearestAttackableTargetGoal(Mob mob, const type_info& targetType, float within, int randomInterval, bool mustSee)
+ //{
+ // this(mob, targetType, within, randomInterval, mustSee, false);
+ //}
+
+ NearestAttackableTargetGoal(Mob *mob, const type_info& targetType, float within, int randomInterval, bool mustSee, bool mustReach = false);
+ virtual ~NearestAttackableTargetGoal();
+
+ virtual bool canUse();
+ void start();
+}; \ No newline at end of file