LeviLamina
Loading...
Searching...
No Matches
SingleBlockFeature Class Reference
+ Inheritance diagram for SingleBlockFeature:

Classes

struct  WeightedBlockDescriptor
 

Public Types

enum class  CheckDirection : uchar {
  Top = 0 , Bottom = 1 , North = 2 , East = 3 ,
  South = 4 , West = 5 , All = 6 , Sides = 7 ,
  Diagonal = 8 , Count = 9
}
 
enum class  AttachCondition : uchar { MayAttachTo = 0 , MayNotAttachTo = 1 }
 
using PlacementConditions
 

Public Member Functions

virtual ::std::optional<::BlockPosplace (::IFeature::PlacementContext const &context) const
 
MCAPI::Block const * _mayAttach (::BlockDescriptor const &blockDescriptor, ::IBlockWorldGenAPI &target, ::BlockPos const &pos) const
 
MCAPI bool _mayNotAttach (::IBlockWorldGenAPI &target, ::BlockPos const &pos) const
 
MCAPI void $dtor ()
 
MCAPI ::std::optional<::BlockPos$place (::IFeature::PlacementContext const &context) const
 
virtual bool isValidPlacement (::std::string const &pass)
 
virtual void upgradeFormat (::SemVersion const &)
 
MCAPI bool $isValidPlacement (::std::string const &pass)
 
MCFOLD void $upgradeFormat (::SemVersion const &)
 

Static Public Member Functions

static MCAPI void ** $vftable ()
 
static MCAPI bool isExposedTo (::IBlockWorldGenAPI const &target, ::BlockPos const &candidatePos, ::BlockDescriptor const &exposedTo)
 
static MCAPI ::std::string_view const & DEFAULT_NOT_SUPPORTED_PASS ()
 

Public Attributes

::ll::TypedStorage< 8, 24, ::std::vector<::SingleBlockFeature::WeightedBlockDescriptor > > mPossibleBlocks
 
::ll::TypedStorage< 8, 216, ::Bedrock::DenseEnumMap<::SingleBlockFeature::CheckDirection, ::std::vector<::BlockDescriptor >, 9 > > mMayAttachTo
 
::ll::TypedStorage< 8, 216, ::Bedrock::DenseEnumMap<::SingleBlockFeature::CheckDirection, ::std::vector<::BlockDescriptor >, 9 > > mMayNotAttachTo
 
::ll::TypedStorage< 8, 24, ::std::vector<::BlockDescriptor > > mMayReplace
 
::ll::TypedStorage< 4, 4, int > mMinAttachedSides
 
::ll::TypedStorage< 1, 1, bool > mEnforcePlacementRules
 
::ll::TypedStorage< 1, 1, bool > mEnforceSurvivabilityRules
 
::ll::TypedStorage< 1, 1, bool > mAutoRotate
 
::ll::TypedStorage< 1, 1, bool > mRandomRotation
 
::ll::TypedStorage< 1, 1, bool > mEnforceAttachmentRules
 
::ll::TypedStorage< 1, 1, bool > mInternal
 
::ll::TypedStorage< 1, 1, bool > mCanUseInternalFeature
 

Member Typedef Documentation

◆ PlacementConditions

Member Function Documentation

◆ place()

virtual ::std::optional<::BlockPos > SingleBlockFeature::place ( ::IFeature::PlacementContext const & context) const
virtual

Implements IFeature.

◆ $vftable()

static MCAPI void ** SingleBlockFeature::$vftable ( )
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.

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