36 enum class ExtractionPurpose : uchar {
41 enum class NeighborDiagonalType :
int {
49 ::ll::TypedStorage<8, 48, ::CachedChunkBlockSource> mRegion;
50 ::ll::TypedStorage<8, 32, ::BinaryHeap> mOpenSet;
51 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BlockPos, ::PathfinderNode>> mNodes;
52 ::ll::TypedStorage<8, 256, ::std::array<::PathfinderNode*, 32>> mNeighbors;
53 ::ll::TypedStorage<1, 1, bool> mCanPassDoors;
54 ::ll::TypedStorage<1, 1, bool> mCanOpenDoors;
55 ::ll::TypedStorage<1, 1, bool> mCanOpenIronDoors;
56 ::ll::TypedStorage<1, 1, bool> mAvoidWater;
57 ::ll::TypedStorage<1, 1, bool> mAvoidDamageBlocks;
58 ::ll::TypedStorage<1, 1, bool> mCanFloat;
59 ::ll::TypedStorage<1, 1, bool> mCanPathOverLava;
60 ::ll::TypedStorage<1, 1, bool> mIsAmphibious;
61 ::ll::TypedStorage<1, 1, bool> mAvoidPortals;
62 ::ll::TypedStorage<1, 1, bool> mCanBreach;
63 ::ll::TypedStorage<1, 1, bool> mCanJump;
71 MCAPI
bool _checkBlockAndNeighborsProperty(
75 ::BlockProperty testProperty,
81 MCAPI
bool _checkForDamagingBlock(
89 MCAPI ::NodeType _classifyDoorNode(
99 MCAPI ::NodeType _classifyNode(
104 ::CanJumpIntoNode jumpIntoNode,
105 ::CanClimbIntoNode climbIntoNode
111 MCAPI ::std::unique_ptr<::Path>
112 _findPath(
::ActorPathingData const& actorData,
float xt,
float yt,
float zt,
float maxDist);
114 MCAPI ::std::unique_ptr<::Path> _findPath(
122 MCAPI
float _getHeightAboveBlock(
::BlockPos const& blockPos,
float mobHeight)
const;
124 MCAPI
float _getHeightBelowBlock(
::BlockPos const& blockPos,
float mobHeight)
const;
126 MCAPI ::std::optional<::BlockPos> _getHighestReachablePosByJumping(
128 float maxReachableHeight,
132 MCAPI ::ActorPathingData::MinMaxHeightCacheEntry
135 MCAPI
int _getNeighbors(
141 ::std::bitset<18>
const& validPositions
144 MCAPI ::PathfinderNode* _getNode(
::BlockPos const& pos, ::NodeType nodeType);
146 MCAPI ::PathfinderNode* _getNode(
152 ::CanClimbIntoNode climbIntoNode
155 MCAPI ::std::optional<::NodeType> _getPartialBlockNodeType(
163 MCAPI ::PathfinderNode* _getUnderneathSupportedNode(
168 ::CanClimbIntoNode climbIntoNode
171 MCAPI ::PathfinderNode*
174 MCAPI ::NodeType _isFreeStartNode(
184 MCAPI
bool _isNeighborPotentiallyValid(
191 MCAPI ::std::unique_ptr<::Path>
194 MCAPI ::NodeType isFree(
199 ::CanJumpIntoNode jumpIntoNode,
200 ::CanClimbIntoNode climbIntoNode
209 MCAPI
static float _calculateMoveCost(
216 MCAPI static ::BlockPos _getStartPositionFlyingActor(
220 bool canPathOverLava,
224 MCAPI static ::ActorPathingData extractPathingData(
226 ::PathFinder::ExtractionPurpose purpose,
227 ::std::optional<::Vec3> targetPos
234 MCAPI static ::PreferredPathDescription
const& DEFAULT_DESC();