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;
14// clang-format on
15
16class MeleeAttackGoal : public ::MeleeAttackBaseGoal {
17public:
18 // MeleeAttackGoal inner types define
19 using AttackReachEvaluator =
20 bool (*)(::Mob const&, ::Vec3 const&, float const, float const, float const, float const, int const);
21
22 using LineOfSightEvaluator = bool (*)(::Mob const&, ::Actor const&);
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<
28 8,
29 8,
30 bool (*)(::Mob const&, ::Vec3 const&, float const, float const, float const, float const, int const)>
31 mReachEvaluator;
32 ::ll::TypedStorage<8, 8, bool (*)(::Mob const&, ::Actor const&)> mLineOfSightEvaluator;
33 ::ll::TypedStorage<4, 4, float> mReachMultiplier;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 MeleeAttackGoal();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~MeleeAttackGoal() /*override*/;
44
45 virtual void tick() /*override*/;
46
47 virtual void appendDebugInfo(::std::string& str) const /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI explicit MeleeAttackGoal(::Mob& mob);
54
55 MCAPI float _getAttackReachSqr(::Actor const& target) const;
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCAPI static bool _canReachTarget(
62 ::Mob const& mob,
63 ::Vec3 const& targetPosition,
64 float attackReachSq,
65 float targetMinY,
66 float targetMaxY,
67 float targetXZDistanceSqr,
68 int attackTicks
69 );
70
71 MCAPI static bool _canReachTargetLegacy(
72 ::Mob const& mob,
73 ::Vec3 const&,
74 float attackReachSq,
75 float targetMinY,
76 float targetMaxY,
77 float targetXZDistanceSqr,
78 int attackTicks
79 );
80
81 MCFOLD static bool _isTargetInLineOfSight(::Mob const& mob, ::Actor const& target);
82
83 MCAPI static bool _isTargetInLineOfSightLegacy(::Mob const& mob, ::Actor const& target);
84 // NOLINTEND
85
86public:
87 // static variables
88 // NOLINTBEGIN
89 MCAPI static ::BaseGameVersion const& MIN_3D_ATTACK_VERSION();
90
91 MCAPI static ::BaseGameVersion const& MIN_HIT_THROUGH_WALL_FIX_VERSION();
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(::Mob& mob);
98 // NOLINTEND
99
100public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCAPI void $dtor();
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI void $tick();
110
111 MCAPI void $appendDebugInfo(::std::string& str) const;
112
113
114 // NOLINTEND
115
116public:
117 // vftables
118 // NOLINTBEGIN
119 MCNAPI static void** $vftable();
120 // NOLINTEND
121};
Definition Actor.h:105
Definition BaseGameVersion.h:8
static MCAPI void ** $vftable()
Definition Mob.h:50
Definition Vec3.h:10