LeviLamina
Loading...
Searching...
No Matches
PanicGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
8#include "mc/deps/shared_types/legacy/actor/ActorDamageCause.h"
9#include "mc/util/FloatRange.h"
10#include "mc/world/actor/ai/goal/BaseGoal.h"
11#include "mc/world/level/Tick.h"
12
13// auto generated forward declare list
14// clang-format off
15class Mob;
16// clang-format on
17
18class PanicGoal : public ::BaseGoal {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
23 ::ll::TypedStorage<8, 8, ::Mob*> mHurtByMob;
24 ::ll::TypedStorage<8, 24, ::std::vector<::SharedTypes::Legacy::ActorDamageCause>> mDamageCauses;
25 ::ll::TypedStorage<1, 1, bool> mIgnoreMobDamage;
26 ::ll::TypedStorage<1, 1, bool> mPanicOnAllCauses;
27 ::ll::TypedStorage<1, 1, bool> mForceUse;
28 ::ll::TypedStorage<1, 1, bool> mPreferWater;
29 ::ll::TypedStorage<1, 1, bool> mCanTeleportToOwner;
30 ::ll::TypedStorage<4, 4, float> mSpeedMultipler;
31 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPosition;
32 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundEvent;
33 ::ll::TypedStorage<4, 8, ::FloatRange> mSoundIntervalRange;
34 ::ll::TypedStorage<8, 8, ::Tick> mNextSoundEventTick;
35 ::ll::TypedStorage<8, 8, ::Tick> mNextNavigationTick;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 PanicGoal& operator=(PanicGoal const&);
41 PanicGoal(PanicGoal const&);
42 PanicGoal();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual bool canUse() /*override*/;
48
49 virtual void start() /*override*/;
50
51 virtual void stop() /*override*/;
52
53 virtual bool canContinueToUse() /*override*/;
54
55 virtual void tick() /*override*/;
56
57 virtual void appendDebugInfo(::std::string& str) const /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI PanicGoal(
64 ::Mob& mob,
65 float speedMultiplier,
66 bool ignoreMobDamage,
67 ::SharedTypes::Legacy::LevelSoundEvent sound,
68 ::FloatRange soundIntervalRange,
69 bool forceUse,
70 bool preferWater,
71 ::std::vector<::SharedTypes::Legacy::ActorDamageCause> damageCauses
72 );
73
74 MCAPI ::std::optional<::Vec3> _findWaterPos(int xzDist, int yDist) const;
75
76 MCAPI bool _shouldTryToMoveAway();
77
78 MCAPI ::std::optional<::Vec3> _tryGeneratePathEnd() const;
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(
85 ::Mob& mob,
86 float speedMultiplier,
87 bool ignoreMobDamage,
88 ::SharedTypes::Legacy::LevelSoundEvent sound,
89 ::FloatRange soundIntervalRange,
90 bool forceUse,
91 bool preferWater,
92 ::std::vector<::SharedTypes::Legacy::ActorDamageCause> damageCauses
93 );
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI bool $canUse();
100
101 MCAPI void $start();
102
103 MCAPI void $stop();
104
105 MCFOLD bool $canContinueToUse();
106
107 MCAPI void $tick();
108
109 MCAPI void $appendDebugInfo(::std::string& str) const;
110
111
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119};
Definition Mob.h:57
static MCAPI void ** $vftable()
Definition FloatRange.h:11