3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/CachedChunkBlockSource.h"
8#include "mc/world/level/block/BlockProperty.h"
9#include "mc/world/level/pathfinder/BinaryHeap.h"
10#include "mc/world/level/pathfinder/CanClimbIntoNode.h"
11#include "mc/world/level/pathfinder/CanJumpIntoNode.h"
12#include "mc/world/level/pathfinder/NodeType.h"
13#include "mc/world/level/pathfinder/PathCompletionType.h"
34 enum class ExtractionPurpose : uchar {
39 enum class NeighborDiagonalType :
int {
47 ::ll::TypedStorage<8, 48, ::CachedChunkBlockSource> mRegion;
48 ::ll::TypedStorage<8, 32, ::BinaryHeap> mOpenSet;
49 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BlockPos, ::PathfinderNode>> mNodes;
50 ::ll::TypedStorage<8, 256, ::std::array<::PathfinderNode*, 32>> mNeighbors;
51 bool mCanPassDoors : 1;
52 bool mCanOpenDoors : 1;
53 bool mCanOpenIronDoors : 1;
55 bool mAvoidDamageBlocks : 1;
57 bool mCanPathOverLava : 1;
58 bool mCanWalkInLava : 1;
59 bool mIsAmphibious : 1;
60 bool mAvoidPortals : 1;
78 ::BlockProperty testProperty,
96 ::CanJumpIntoNode jumpIntoNode,
97 ::CanClimbIntoNode climbIntoNode
103 MCNAPI ::std::unique_ptr<::Path>
128 ::CanClimbIntoNode climbIntoNode
139 MCNAPI ::PathfinderNode*
156 MCNAPI ::std::unique_ptr<::Path>
166 ::CanJumpIntoNode jumpIntoNode,
167 ::CanClimbIntoNode climbIntoNode
178 ::PathFinder::ExtractionPurpose purpose,
179 ::std::optional<::Vec3> targetPos
Definition BlockSource.h:71
Definition BreakBlocksComponent.h:12
Definition NavigationComponent.h:18
MCAPI::PathfinderNode * _getNode(::ActorPathingData const &data, ::BlockPos const &fromPos, ::BlockPos const &blockPos, ::PathfinderNode const &size, float jumpHeight, ::CanClimbIntoNode climbIntoNode)
MCAPI::PathfinderNode * _getWaterNode(::ActorPathingData const &data, ::BlockPos const &lastPos, ::BlockPos const &blockPos)
MCAPI bool _findNearestPathableNeighbor(::BlockPos &outPos, ::ActorPathingData const &data, ::BlockPos const &testPos)
static MCAPI ::ActorPathingData extractPathingData(::Actor &mutableActor, ::PathFinder::ExtractionPurpose purpose, ::std::optional<::Vec3 > targetPos)
MCAPI float _getHeightAboveBlock(::BlockPos const &blockPos, float const mobHeight) const
MCAPI::NodeType _isFreeStartNode(::ActorPathingData const &data, ::AABB const &entityAABB, ::BlockPos const &testPos, ::BlockPos const &size)
MCAPI ::std::unique_ptr<::Path > _reconstructPath(::PathfinderNode *to, ::PathCompletionType const completionType, ::ActorUniqueID const actorId)
MCAPI bool _isNeighborPotentiallyValid(::PathfinderNode const &node, ::PathfinderNode const &target, ::BlockPos const &offset, uint maxDistSqr)
MCAPI::NodeType _classifyNode(::ActorPathingData const &data, ::BlockPos const &lastPathPos, ::Block const &testBlock, ::BlockPos const &testPos, ::CanJumpIntoNode jumpIntoNode, ::CanClimbIntoNode climbIntoNode)
MCAPI::NodeType _classifyDoorNode(::ActorPathingData const &data, ::Block const &testBlock, ::BlockPos const &testPos, ::BlockPos const &lastPathPos)
MCAPI::AABB _getAABBForHeightComputation(::BlockPos const &pos, ::Block const &block) const
MCAPI ::std::optional<::NodeType > _getPartialBlockNodeType(::BlockPos const ¤tBlockPos, ::BlockPos const &lastBlockPos, ::ActorPathingData const &data)
MCAPI ::std::unique_ptr<::Path > findPath(::Actor &from, ::Actor const &to, float maxDist)
MCAPI::PathfinderNode * _getNode(::BlockPos const &pos, ::NodeType nodeType)
MCAPI ::std::unique_ptr<::Path > _findPath(::ActorPathingData const &data, ::PathfinderNode *from, ::PathfinderNode *to, ::PathfinderNode const &size, float maxDist)
static MCAPI ::PreferredPathComponent const & DEFAULT_DESC()
MCAPI void * $ctor(::BlockSource ®ion, ::NavigationComponent const &navigation)
MCAPI bool _checkBlockAndNeighborsProperty(::ActorPathingData const &data, ::BlockPos const &pos, ::Block const &block, ::BlockProperty testProperty, int radius, ::BreakBlocksComponent const *breakBlocksComponent, ::std::function< bool(::Block const &, ::BlockPos const &)> extraCondition)
MCAPI float _getHeightBelowBlock(::BlockPos const &blockPos, float const mobHeight) const
MCAPI PathFinder(::BlockSource ®ion, ::NavigationComponent const &navigation)
MCAPI::NodeType isFree(::ActorPathingData const &data, ::BlockPos const &lastPathPos, ::BlockPos const &testPos, ::BlockPos const &size, ::CanJumpIntoNode jumpIntoNode, ::CanClimbIntoNode climbIntoNode)
MCAPI float _getPathfindingMalus(::ActorPathingData const &data, ::NodeType nodeType, ::BlockPos const &blockPos)
MCAPI ::std::unique_ptr<::Path > _findPath(::ActorPathingData const &actorData, float xt, float yt, float zt, float maxDist)
Definition PathfinderNode.h:5
Definition ActorPathingData.h:5
Definition ActorUniqueID.h:5
Definition PreferredPathComponent.h:11