LeviLamina
Loading...
Searching...
No Matches
Path.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/pathfinder/NodeType.h"
8#include "mc/world/level/pathfinder/PathCompletionType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Vec3;
14// clang-format on
15
16class Path {
17public:
18 // Path inner types declare
19 // clang-format off
20 class Node;
21 // clang-format on
22
23 // Path inner types define
24 class Node {
25 public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 12, ::BlockPos> pos;
29 ::ll::TypedStorage<4, 4, ::NodeType> type;
30 // NOLINTEND
31 };
32
33 using NodeArray = ::std::vector<::Path::Node>;
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 24, ::std::vector<::Path::Node>> mNodes;
39 ::ll::TypedStorage<8, 8, uint64> mIndex;
40 ::ll::TypedStorage<1, 1, ::PathCompletionType> mCompletionType;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCNAPI Path();
47
48 MCNAPI void buildFromNodes(::std::vector<::Path::Node>&& nodeArray, ::PathCompletionType completionType);
49
50 MCNAPI ::BlockPos const& currentPos() const;
51
52 MCNAPI ::Vec3 currentPos(::Actor const* actor) const;
53
54 MCNAPI bool endsInXZ(::Vec3 const& pos);
55
56 MCNAPI ::PathCompletionType getCompletionType() const;
57
58 MCNAPI ::Vec3 getEndPos() const;
59
60 MCNAPI uint64 getIndex() const;
61
62 MCNAPI ::BlockPos const& getLastPos() const;
63
64 MCNAPI ::BlockPos const& getNodePos(uint64 index) const;
65
66 MCNAPI ::NodeType getNodeType(uint64 index) const;
67
68 MCNAPI ::Vec3 getPos(::Actor const* actor, uint64 index) const;
69
70 MCNAPI uint64 getSize() const;
71
72 MCNAPI bool isDone() const;
73
74 MCNAPI bool isValid() const;
75
76 MCNAPI ::std::unique_ptr<::Path> makeCopy() const;
77
78 MCNAPI void next();
79
80 MCNAPI bool sameAs(::Path* path) const;
81
82 MCNAPI void setIndex(uint64 index);
83
84 MCNAPI void setSize(uint64 length);
85
86 MCNAPI ~Path();
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCNAPI void* $ctor();
93 // NOLINTEND
94
95public:
96 // destructor thunk
97 // NOLINTBEGIN
98 MCNAPI void $dtor();
99 // NOLINTEND
100};
Definition Actor.h:125
Definition Path.h:24
MCAPI uint64 getIndex() const
MCAPI bool isDone() const
MCAPI void next()
MCAPI void buildFromNodes(::std::vector<::Path::Node > &&nodeArray, ::PathCompletionType completionType)
MCAPI bool sameAs(::Path *path) const
MCAPI void * $ctor()
MCAPI::NodeType getNodeType(uint64 index) const
MCAPI::BlockPos const & getNodePos(uint64 index) const
MCAPI::BlockPos const & currentPos() const
MCAPI::PathCompletionType getCompletionType() const
MCAPI Path()
MCAPI bool endsInXZ(::Vec3 const &pos)
MCAPI ::std::unique_ptr<::Path > makeCopy() const
MCAPI::Vec3 getEndPos() const
MCAPI::Vec3 getPos(::Actor const *actor, uint64 index) const
MCAPI void setIndex(uint64 index)
MCAPI void $dtor()
MCAPI bool isValid() const
MCAPI::BlockPos const & getLastPos() const
MCAPI ~Path()
MCAPI uint64 getSize() const
MCAPI::Vec3 currentPos(::Actor const *actor) const
MCAPI void setSize(uint64 length)
Definition Vec3.h:10