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 ::ll::TypedStorage<1, 1, bool> mAvoidDamageBlocks;
27 ::ll::TypedStorage<1, 1, bool> mAvoidPortals;
28 ::ll::TypedStorage<1, 1, bool> mAvoidSun;
29 ::ll::TypedStorage<1, 1, bool> mAvoidWater;
30 ::ll::TypedStorage<1, 1, bool> mCanBreach;
31 ::ll::TypedStorage<1, 1, bool> mCanFloat;
32 ::ll::TypedStorage<1, 1, bool> mCanPathOverLava;
33 ::ll::TypedStorage<1, 1, bool> mCanWalkInLava;
34 ::ll::TypedStorage<1, 1, bool> mCanJump;
35 ::ll::TypedStorage<1, 1, bool> mCanOpenDoors;
36 ::ll::TypedStorage<1, 1, bool> mCanOpenIronDoors;
37 ::ll::TypedStorage<1, 1, bool> mCanPassDoors;
38 ::ll::TypedStorage<1, 1, bool> mCanSink;
39 ::ll::TypedStorage<1, 1, bool> mIsAmphibious;
40 ::ll::TypedStorage<1, 1, bool> mIsFollowingRivers;
41 ::ll::TypedStorage<1, 1, bool> mHasEndPathRadius;
42 ::ll::TypedStorage<1, 1, bool> mHasDestination;
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
61
62public:
63 // member functions
64 // NOLINTBEGIN
66
67 MCNAPI void initializeFromDefinition(::Mob& owner, ::NavigationDescription* description);
68
69 MCNAPI ::NodeType isFree(
70 ::Mob& owner,
71 ::BlockPos const& lastPathPos,
72 ::BlockPos const& testPos,
73 ::BlockPos const& size,
74 ::CanJumpIntoNode jumpIntoNode
75 );
76
77 MCNAPI bool moveTo(::Mob& owner, ::std::unique_ptr<::Path> newPath, float speed);
78
79 MCNAPI bool moveTo(::Mob& owner, ::Actor& target, float speed);
80
81 MCNAPI ::NavigationComponent& operator=(::NavigationComponent&&);
82
84 // NOLINTEND
85
86public:
87 // destructor thunk
88 // NOLINTBEGIN
89 MCNAPI void $dtor();
90 // NOLINTEND
91};
Definition ActorDefinitionDescriptor.h:12
Definition Actor.h:103
Definition BlockDescriptor.h:20
Definition BlockPos.h:18
Definition Mob.h:47
Definition NavigationComponent.h:22
MCAPI ~NavigationComponent()
MCAPI void initMultiTypeNavigationComponent(::Mob &entity, ::ActorDefinitionDescriptor &initDescription)
MCAPI bool moveTo(::Mob &owner, ::std::unique_ptr<::Path > newPath, float speed)
MCAPI void $dtor()
MCAPI bool moveTo(::Mob &owner, ::Actor &target, float speed)
MCAPI::NodeType isFree(::Mob &owner, ::BlockPos const &lastPathPos, ::BlockPos const &testPos, ::BlockPos const &size, ::CanJumpIntoNode jumpIntoNode)
MCAPI void initializeFromDefinition(::Mob &owner, ::NavigationDescription *description)
MCAPI::NavigationComponent & operator=(::NavigationComponent &&)
Definition PathNavigation.h:17
Definition Path.h:16
Definition NavigationDescription.h:13