LeviLamina
Loading...
Searching...
No Matches
MeleeAttackGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/goal/MeleeAttackBaseGoal.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class BaseGameVersion;
12class Mob;
13class Vec3;
14struct GoalId;
15// clang-format on
16
17class MeleeAttackGoal : public ::MeleeAttackBaseGoal {
18public:
19 // MeleeAttackGoal inner types define
20 using AttackReachEvaluator =
21 bool (*)(::Mob const&, ::Vec3 const&, float const, float const, float const, float const, int const);
22
23 using LineOfSightEvaluator = bool (*)(::Mob const&, ::Actor const&);
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<
29 8,
30 8,
31 bool (*)(::Mob const&, ::Vec3 const&, float const, float const, float const, float const, int const)>
32 mReachEvaluator;
33 ::ll::TypedStorage<8, 8, bool (*)(::Mob const&, ::Actor const&)> mLineOfSightEvaluator;
34 ::ll::TypedStorage<4, 4, float> mReachMultiplier;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 MeleeAttackGoal();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~MeleeAttackGoal() /*override*/ = default;
45
46 virtual void tick() /*override*/;
47
48 virtual void appendDebugInfo(::std::string& str) const /*override*/;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI MeleeAttackGoal(::Mob& mob, ::std::string name, ::GoalId const& goalId);
55 // NOLINTEND
56
57public:
58 // static functions
59 // NOLINTBEGIN
60 MCAPI static bool _canReachTarget(
61 ::Mob const& mob,
62 ::Vec3 const& targetPosition,
63 float attackReachSq,
64 float targetMinY,
65 float targetMaxY,
66 float targetXZDistanceSqr,
67 int attackTicks
68 );
69
70 MCAPI static bool _canReachTargetLegacy(
71 ::Mob const& mob,
72 ::Vec3 const&,
73 float attackReachSq,
74 float targetMinY,
75 float targetMaxY,
76 float targetXZDistanceSqr,
77 int attackTicks
78 );
79
80 MCAPI static bool _isTargetInLineOfSight(::Mob const& mob, ::Actor const& target);
81
82 MCAPI static bool _isTargetInLineOfSightLegacy(::Mob const& mob, ::Actor const& target);
83 // NOLINTEND
84
85public:
86 // static variables
87 // NOLINTBEGIN
88 MCAPI static ::BaseGameVersion const& MIN_3D_ATTACK_VERSION();
89
90 MCAPI static ::BaseGameVersion const& MIN_HIT_THROUGH_WALL_FIX_VERSION();
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(::Mob& mob, ::std::string name, ::GoalId const& goalId);
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCAPI void $tick();
103
104 MCAPI void $appendDebugInfo(::std::string& str) const;
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCNAPI static void** $vftable();
113 // NOLINTEND
114};
Definition Actor.h:113
Definition BaseGameVersion.h:8
static MCAPI void ** $vftable()
Definition Mob.h:56
Definition Vec3.h:10
Definition GoalId.h:5