LeviLamina
Loading...
Searching...
No Matches
AvoidMobTypeGoal.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/ecs/WeakEntityRef.h"
8#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
9#include "mc/deps/shared_types/shared_types/FloatRange.h"
10#include "mc/world/actor/ActorDefinitionTrigger.h"
11#include "mc/world/actor/ai/goal/BaseGoal.h"
12#include "mc/world/level/Tick.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class Mob;
18class Path;
19struct GoalId;
20struct MobDescriptor;
21// clang-format on
22
23class AvoidMobTypeGoal : public ::BaseGoal {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
28 ::ll::TypedStorage<1, 1, bool> mIgnoreVisibility;
29 ::ll::TypedStorage<8, 32, ::std::string> mAvoidIdentifier;
30 ::ll::TypedStorage<4, 4, int> mAvoidTargetPositionXZDistance;
31 ::ll::TypedStorage<4, 4, int> mAvoidTargetPositionYDistance;
32 ::ll::TypedStorage<4, 4, float> mMaximumDistance;
33 ::ll::TypedStorage<4, 4, float> mMaximumFlee;
34 ::ll::TypedStorage<4, 4, float> mProbabilityPerStrength;
35 ::ll::TypedStorage<4, 4, float> mRiverSpeedModifier;
36 ::ll::TypedStorage<4, 4, float> mSprintDistanceSquared;
37 ::ll::TypedStorage<4, 4, float> mSprintSpeedModifier;
38 ::ll::TypedStorage<4, 4, float> mWalkSpeedModifier;
39 ::ll::TypedStorage<1, 1, bool> mRemoveTarget;
40 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnEscapeTrigger;
41 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundEvent;
42 ::ll::TypedStorage<4, 8, ::SharedTypes::FloatRange> mSoundIntervalRange;
43 ::ll::TypedStorage<8, 24, ::WeakEntityRef> mToAvoid;
44 ::ll::TypedStorage<4, 12, ::Vec3> mPosition;
45 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
46 ::ll::TypedStorage<8, 8, ::Tick> mNextSoundEventTick;
47 ::ll::TypedStorage<8, 24, ::std::vector<::MobDescriptor>> mAvoidMobs;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 AvoidMobTypeGoal& operator=(AvoidMobTypeGoal const&);
53 AvoidMobTypeGoal(AvoidMobTypeGoal const&);
54 AvoidMobTypeGoal();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual bool canUse() /*override*/;
60
61 virtual bool canContinueToUse() /*override*/;
62
63 virtual void start() /*override*/;
64
65 virtual void stop() /*override*/;
66
67 virtual void tick() /*override*/;
68
69 virtual void appendDebugInfo(::std::string& str) const /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI AvoidMobTypeGoal(::Mob& mob, ::std::string name, ::GoalId const& goalId);
76
77 MCAPI bool canFindAvoidPath(::Actor* actor);
78
79 MCAPI ::Actor* findNearestEntityToAvoid(float dist);
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void* $ctor(::Mob& mob, ::std::string name, ::GoalId const& goalId);
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCAPI bool $canUse();
92
93 MCAPI bool $canContinueToUse();
94
95 MCAPI void $start();
96
97 MCAPI void $stop();
98
99 MCAPI void $tick();
100
101 MCAPI void $appendDebugInfo(::std::string& str) const;
102
103
104 // NOLINTEND
105};
Definition Actor.h:113
Definition BaseGoal.h:12
Definition Mob.h:56
Definition Path.h:16
Definition GoalId.h:5
Definition MobDescriptor.h:8