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