aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/NearestAttackableTargetGoal.h
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.World/NearestAttackableTargetGoal.h
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
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 <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.World/NearestAttackableTargetGoal.h')
-rw-r--r--Minecraft.World/NearestAttackableTargetGoal.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/Minecraft.World/NearestAttackableTargetGoal.h b/Minecraft.World/NearestAttackableTargetGoal.h
index a10e9264..1ba6c519 100644
--- a/Minecraft.World/NearestAttackableTargetGoal.h
+++ b/Minecraft.World/NearestAttackableTargetGoal.h
@@ -1,9 +1,26 @@
#pragma once
#include "TargetGoal.h"
+#include "EntitySelector.h"
+
+class NearestAttackableTargetGoal;
+
+// Anonymous class from NearestAttackableTargetGoal
+class SubselectEntitySelector : public EntitySelector
+{
+private:
+ EntitySelector *m_subselector;
+ NearestAttackableTargetGoal *m_parent;
+
+public:
+ SubselectEntitySelector(NearestAttackableTargetGoal *parent, EntitySelector *subselector);
+ ~SubselectEntitySelector();
+ bool matches(shared_ptr<Entity> entity) const;
+};
class NearestAttackableTargetGoal : public TargetGoal
{
+ friend class SubselectEntitySelector;
public:
class DistComp
{
@@ -17,18 +34,15 @@ public:
};
private:
- weak_ptr<Mob> target;
const type_info& targetType;
int randomInterval;
DistComp *distComp;
+ EntitySelector *selector;
+ weak_ptr<LivingEntity> target;
public:
- //public NearestAttackableTargetGoal(Mob mob, const type_info& targetType, float within, int randomInterval, bool mustSee)
- //{
- // this(mob, targetType, within, randomInterval, mustSee, false);
- //}
+ NearestAttackableTargetGoal(PathfinderMob *mob, const type_info& targetType, int randomInterval, bool mustSee, bool mustReach = false, EntitySelector *entitySelector = NULL);
- NearestAttackableTargetGoal(Mob *mob, const type_info& targetType, float within, int randomInterval, bool mustSee, bool mustReach = false);
virtual ~NearestAttackableTargetGoal();
virtual bool canUse();