LeviLamina
Loading...
Searching...
No Matches
PathFinder Class Reference

Public Types

enum class  ExtractionPurpose : uchar { Pathing = 0 , IsFree = 1 }
 
enum class  NeighborDiagonalType : int { Default = 0 , Liquid = 1 }
 

Public Member Functions

MCAPI PathFinder (::BlockSource &region, ::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 bool _checkForDamagingBlock (::ActorPathingData const &data, ::BlockPos const &pos, ::Block const &block, int radius, ::BreakBlocksComponent const *breakBlocksComponent)
 
MCAPI::NodeType _classifyDoorNode (::ActorPathingData const &data, ::Block const &testBlock, ::BlockPos const &testPos, ::BlockPos const &lastPathPos)
 
MCAPI::NodeType _classifyNode (::ActorPathingData const &data, ::BlockPos const &fromPos, ::BlockPos const &testPos)
 
MCAPI::NodeType _classifyNode (::ActorPathingData const &data, ::BlockPos const &lastPathPos, ::Block const &testBlock, ::BlockPos const &testPos, ::CanJumpIntoNode jumpIntoNode, ::CanClimbIntoNode climbIntoNode)
 
MCAPI bool _findNearestPathableNeighbor (::BlockPos &outPos, ::ActorPathingData const &data, ::BlockPos const &testPos)
 
MCAPI ::std::unique_ptr<::Path_findPath (::ActorPathingData const &actorData, float xt, float yt, float zt, float maxDist)
 
MCAPI ::std::unique_ptr<::Path_findPath (::ActorPathingData const &data, ::PathfinderNode *from, ::PathfinderNode *to, ::PathfinderNode const &size, float maxDist)
 
MCAPI float _getHeightAboveBlock (::BlockPos const &blockPos, float mobHeight) const
 
MCAPI float _getHeightBelowBlock (::BlockPos const &blockPos, float mobHeight) const
 
MCAPI ::std::optional<::BlockPos_getHighestReachablePosByJumping (::BlockPos const &originalTargetPos, float maxReachableHeight, ::BlockPos const &actorSize) const
 
MCAPI::ActorPathingData::MinMaxHeightCacheEntry _getMinAndMaxHeightAroundBlock (::ActorPathingData const &data, ::BlockPos const &blockPos, float mobHeight) const
 
MCAPI int _getNeighbors (::ActorPathingData const &data, ::PathfinderNode &pos, ::PathfinderNode const &size, ::PathfinderNode const &target, uint maxDistSqr, ::std::bitset< 18 > const &validPositions)
 
MCAPI::PathfinderNode * _getNode (::BlockPos const &pos, ::NodeType nodeType)
 
MCAPI::PathfinderNode * _getNode (::ActorPathingData const &data, ::BlockPos const &fromPos, ::BlockPos const &blockPos, ::PathfinderNode const &size, float jumpHeight, ::CanClimbIntoNode climbIntoNode)
 
MCAPI ::std::optional<::NodeType > _getPartialBlockNodeType (::BlockPos const &currentBlockPos, ::BlockPos const &lastBlockPos, ::ActorPathingData const &data)
 
MCAPI float _getPathfindingMalus (::ActorPathingData const &data, ::NodeType nodeType, ::BlockPos const &blockPos)
 
MCAPI::PathfinderNode * _getUnderneathSupportedNode (::PathfinderNode *node, ::ActorPathingData const &data, ::BlockPos const &fromPos, ::PathfinderNode const &size, ::CanClimbIntoNode climbIntoNode)
 
MCAPI::PathfinderNode * _getWaterNode (::ActorPathingData const &data, ::BlockPos const &lastPos, ::BlockPos const &blockPos)
 
MCAPI::NodeType _isFreeStartNode (::ActorPathingData const &data, ::AABB const &entityAABB, ::BlockPos const &testPos, ::BlockPos const &size)
 
MCAPI::NodeType _isFreeWaterNode (::ActorPathingData const &data, ::BlockPos const &lastPos, ::BlockPos const &blockPos)
 
MCAPI bool _isNeighborPotentiallyValid (::PathfinderNode const &node, ::PathfinderNode const &target, ::BlockPos const &offset, uint maxDistSqr)
 
MCAPI ::std::unique_ptr<::Path_reconstructPath (::PathfinderNode *to, ::PathCompletionType completionType, ::ActorUniqueID actorId)
 
MCAPI::NodeType isFree (::ActorPathingData const &data, ::BlockPos const &lastPathPos, ::BlockPos const &testPos, ::BlockPos const &size, ::CanJumpIntoNode jumpIntoNode, ::CanClimbIntoNode climbIntoNode)
 
MCAPI ~PathFinder ()
 
MCAPI void * $ctor (::BlockSource &region, ::NavigationComponent const &navigation)
 
MCAPI void $dtor ()
 

Static Public Member Functions

static MCAPI float _calculateMoveCost (::ActorPathingData const &data, ::PathfinderNode &start, ::BlockPos const &fromPos, ::CachedChunkBlockSource &region)
 
static MCAPI ::BlockPos _getStartPositionFlyingActor (::IPathBlockSource const &pathBlockSource, ::BlockPos originalStartPos, bool canFloat, bool canPathOverLava, float yFeetPosition)
 
static MCAPI ::ActorPathingData extractPathingData (::Actor &mutableActor, ::PathFinder::ExtractionPurpose purpose, ::std::optional<::Vec3 > targetPos)
 
static MCAPI ::PreferredPathDescription const & DEFAULT_DESC ()
 

Public Attributes

::ll::TypedStorage< 8, 48, ::CachedChunkBlockSourcemRegion
 
::ll::TypedStorage< 8, 32, ::BinaryHeapmOpenSet
 
::ll::TypedStorage< 8, 64, ::std::unordered_map<::BlockPos, ::PathfinderNode > > mNodes
 
::ll::TypedStorage< 8, 256, ::std::array<::PathfinderNode *, 32 > > mNeighbors
 
::ll::TypedStorage< 1, 1, bool > mCanPassDoors
 
::ll::TypedStorage< 1, 1, bool > mCanOpenDoors
 
::ll::TypedStorage< 1, 1, bool > mCanOpenIronDoors
 
::ll::TypedStorage< 1, 1, bool > mAvoidWater
 
::ll::TypedStorage< 1, 1, bool > mAvoidDamageBlocks
 
::ll::TypedStorage< 1, 1, bool > mCanFloat
 
::ll::TypedStorage< 1, 1, bool > mCanPathOverLava
 
::ll::TypedStorage< 1, 1, bool > mCanWalkInLava
 
::ll::TypedStorage< 1, 1, bool > mIsAmphibious
 
::ll::TypedStorage< 1, 1, bool > mAvoidPortals
 
::ll::TypedStorage< 1, 1, bool > mCanBreach
 
::ll::TypedStorage< 1, 1, bool > mCanJump
 

Constructor & Destructor Documentation

◆ PathFinder()

MCAPI PathFinder::PathFinder ( ::BlockSource & region,
::NavigationComponent const & navigation )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ ~PathFinder()

MCAPI PathFinder::~PathFinder ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

Member Function Documentation

◆ _checkBlockAndNeighborsProperty()

MCAPI bool PathFinder::_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 )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _checkForDamagingBlock()

MCAPI bool PathFinder::_checkForDamagingBlock ( ::ActorPathingData const & data,
::BlockPos const & pos,
::Block const & block,
int radius,
::BreakBlocksComponent const * breakBlocksComponent )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _classifyDoorNode()

MCAPI::NodeType PathFinder::_classifyDoorNode ( ::ActorPathingData const & data,
::Block const & testBlock,
::BlockPos const & testPos,
::BlockPos const & lastPathPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _classifyNode() [1/2]

MCAPI::NodeType PathFinder::_classifyNode ( ::ActorPathingData const & data,
::BlockPos const & fromPos,
::BlockPos const & testPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _classifyNode() [2/2]

MCAPI::NodeType PathFinder::_classifyNode ( ::ActorPathingData const & data,
::BlockPos const & lastPathPos,
::Block const & testBlock,
::BlockPos const & testPos,
::CanJumpIntoNode jumpIntoNode,
::CanClimbIntoNode climbIntoNode )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _findNearestPathableNeighbor()

MCAPI bool PathFinder::_findNearestPathableNeighbor ( ::BlockPos & outPos,
::ActorPathingData const & data,
::BlockPos const & testPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _findPath() [1/2]

MCAPI ::std::unique_ptr<::Path > PathFinder::_findPath ( ::ActorPathingData const & actorData,
float xt,
float yt,
float zt,
float maxDist )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _findPath() [2/2]

MCAPI ::std::unique_ptr<::Path > PathFinder::_findPath ( ::ActorPathingData const & data,
::PathfinderNode * from,
::PathfinderNode * to,
::PathfinderNode const & size,
float maxDist )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getHeightAboveBlock()

MCAPI float PathFinder::_getHeightAboveBlock ( ::BlockPos const & blockPos,
float mobHeight ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getHeightBelowBlock()

MCAPI float PathFinder::_getHeightBelowBlock ( ::BlockPos const & blockPos,
float mobHeight ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getHighestReachablePosByJumping()

MCAPI ::std::optional<::BlockPos > PathFinder::_getHighestReachablePosByJumping ( ::BlockPos const & originalTargetPos,
float maxReachableHeight,
::BlockPos const & actorSize ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getMinAndMaxHeightAroundBlock()

MCAPI::ActorPathingData::MinMaxHeightCacheEntry PathFinder::_getMinAndMaxHeightAroundBlock ( ::ActorPathingData const & data,
::BlockPos const & blockPos,
float mobHeight ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getNeighbors()

MCAPI int PathFinder::_getNeighbors ( ::ActorPathingData const & data,
::PathfinderNode & pos,
::PathfinderNode const & size,
::PathfinderNode const & target,
uint maxDistSqr,
::std::bitset< 18 > const & validPositions )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getNode() [1/2]

MCAPI::PathfinderNode * PathFinder::_getNode ( ::BlockPos const & pos,
::NodeType nodeType )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getNode() [2/2]

MCAPI::PathfinderNode * PathFinder::_getNode ( ::ActorPathingData const & data,
::BlockPos const & fromPos,
::BlockPos const & blockPos,
::PathfinderNode const & size,
float jumpHeight,
::CanClimbIntoNode climbIntoNode )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getPartialBlockNodeType()

MCAPI ::std::optional<::NodeType > PathFinder::_getPartialBlockNodeType ( ::BlockPos const & currentBlockPos,
::BlockPos const & lastBlockPos,
::ActorPathingData const & data )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getPathfindingMalus()

MCAPI float PathFinder::_getPathfindingMalus ( ::ActorPathingData const & data,
::NodeType nodeType,
::BlockPos const & blockPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getUnderneathSupportedNode()

MCAPI::PathfinderNode * PathFinder::_getUnderneathSupportedNode ( ::PathfinderNode * node,
::ActorPathingData const & data,
::BlockPos const & fromPos,
::PathfinderNode const & size,
::CanClimbIntoNode climbIntoNode )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getWaterNode()

MCAPI::PathfinderNode * PathFinder::_getWaterNode ( ::ActorPathingData const & data,
::BlockPos const & lastPos,
::BlockPos const & blockPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _isFreeStartNode()

MCAPI::NodeType PathFinder::_isFreeStartNode ( ::ActorPathingData const & data,
::AABB const & entityAABB,
::BlockPos const & testPos,
::BlockPos const & size )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _isFreeWaterNode()

MCAPI::NodeType PathFinder::_isFreeWaterNode ( ::ActorPathingData const & data,
::BlockPos const & lastPos,
::BlockPos const & blockPos )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _isNeighborPotentiallyValid()

MCAPI bool PathFinder::_isNeighborPotentiallyValid ( ::PathfinderNode const & node,
::PathfinderNode const & target,
::BlockPos const & offset,
uint maxDistSqr )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _reconstructPath()

MCAPI ::std::unique_ptr<::Path > PathFinder::_reconstructPath ( ::PathfinderNode * to,
::PathCompletionType completionType,
::ActorUniqueID actorId )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ isFree()

MCAPI::NodeType PathFinder::isFree ( ::ActorPathingData const & data,
::BlockPos const & lastPathPos,
::BlockPos const & testPos,
::BlockPos const & size,
::CanJumpIntoNode jumpIntoNode,
::CanClimbIntoNode climbIntoNode )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _calculateMoveCost()

static MCAPI float PathFinder::_calculateMoveCost ( ::ActorPathingData const & data,
::PathfinderNode & start,
::BlockPos const & fromPos,
::CachedChunkBlockSource & region )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getStartPositionFlyingActor()

static MCAPI ::BlockPos PathFinder::_getStartPositionFlyingActor ( ::IPathBlockSource const & pathBlockSource,
::BlockPos originalStartPos,
bool canFloat,
bool canPathOverLava,
float yFeetPosition )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ extractPathingData()

static MCAPI ::ActorPathingData PathFinder::extractPathingData ( ::Actor & mutableActor,
::PathFinder::ExtractionPurpose purpose,
::std::optional<::Vec3 > targetPos )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ DEFAULT_DESC()

static MCAPI ::PreferredPathDescription const & PathFinder::DEFAULT_DESC ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $ctor()

MCAPI void * PathFinder::$ctor ( ::BlockSource & region,
::NavigationComponent const & navigation )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $dtor()

MCAPI void PathFinder::$dtor ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

The documentation for this class was generated from the following file: