LeviLamina
Loading...
Searching...
No Matches
NavigationComponent.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
8// auto generated forward declare list
9// clang-format off
10class Actor;
12class BlockDescriptor;
13class Mob;
14class Path;
15class PathNavigation;
17// clang-format on
18
19class NavigationComponent {
20public:
21 // member variables
22 // NOLINTBEGIN
23 bool mAvoidDamageBlocks : 1;
24 bool mAvoidPortals : 1;
25 bool mAvoidSun : 1;
26 bool mAvoidWater : 1;
27 bool mCanBreach : 1;
28 bool mCanFloat : 1;
29 bool mCanPathOverLava : 1;
30 bool mCanWalkInLava : 1;
31 bool mCanJump : 1;
32 bool mCanOpenDoors : 1;
33 bool mCanOpenIronDoors : 1;
34 bool mCanPassDoors : 1;
35 bool mCanSink : 1;
36 bool mIsAmphibious : 1;
37 bool mIsFollowingRivers : 1;
38 bool mHasEndPathRadius : 1;
39 bool mHasDestination : 1;
40 ::ll::TypedStorage<4, 4, int> mTick;
41 ::ll::TypedStorage<4, 4, int> mTickTimeout;
42 ::ll::TypedStorage<4, 4, int> mLastStuckCheck;
43 ::ll::TypedStorage<4, 4, float> mEndPathRadiusSqr;
44 ::ll::TypedStorage<4, 4, float> mSpeed;
45 ::ll::TypedStorage<4, 4, float> mTerminationThreshold;
46 ::ll::TypedStorage<4, 12, ::Vec3> mLastStuckCheckPosition;
47 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
48 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mBlocksToAvoid;
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PathNavigation>> mNavigation;
50 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 NavigationComponent& operator=(NavigationComponent const&);
56 NavigationComponent();
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI NavigationComponent(::NavigationComponent const& other);
62
63 MCAPI float getMaxDistance(::Actor const& owner) const;
64
65 MCAPI void initMultiTypeNavigationComponent(::Mob& entity, ::ActorDefinitionDescriptor& initDescription);
66
67 MCAPI void initializeFromDefinition(::Mob& owner, ::NavigationDescription* description);
68
69 MCAPI bool moveTo(::Mob& owner, ::std::unique_ptr<::Path> newPath, float speed);
70
71 MCAPI bool moveTo(::Mob& owner, ::Actor const& target, float speed);
72
73 MCAPI ::NavigationComponent& operator=(::NavigationComponent&&);
74
75 MCAPI ~NavigationComponent();
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(::NavigationComponent const& other);
82 // NOLINTEND
83
84public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCAPI void $dtor();
88 // NOLINTEND
89};
Definition ActorDefinitionDescriptor.h:30
Definition Actor.h:105
Definition BlockDescriptor.h:20
Definition Mob.h:50
Definition PathNavigation.h:17
Definition Path.h:16
Definition NavigationDescription.h:14