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