27class MultifaceBlock :
public ::BlockType {
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MultifaceSpreader const>> mSpreader;
41 virtual ~MultifaceBlock() ;
47 virtual ::AABB getCollisionShape(
54 virtual ::AABB
const& getOutline(
61 virtual ::HitResult clip(
67 ::ShapeType shapeType,
71 virtual ::Block
const&
72 getPlacementBlock(
::Actor const& by,
::BlockPos const& pos, uchar face,
::Vec3 const& clickPos,
int itemValue)
const
82 virtual bool isMultifaceBlock()
const ;
84 virtual bool isLavaBlocking()
const ;
86 virtual ::Block
const& sanitizeFillBlock(
::Block const& block)
const ;
93 ::std::string
const& nameId,
96 ::std::unique_ptr<::MultifaceSpreader const> spreader
102 MCAPI
void removeFace(
108 bool canSpawnParticles
117 MCAPI
static int _getNumSides(
::Block const& block);
119 MCAPI
static bool _hasAnyFace(
::Block const& block);
121 MCAPI static ::Block
const& getBlockForPlacementWorldGen(
126 uchar placementDirection
130 MCAPI static ::std::vector<uchar> getFacingListFromMask(uchar faceDirectionBits);
133 MCAPI
static bool hasFace(
::Block const& block, uchar faceDirection);
139 MCAPI
static int const& MULTIFACE_ALL();
141 MCAPI
static int const& MULTIFACE_DOWN();
143 MCAPI
static int const& MULTIFACE_EAST();
145 MCAPI
static int const& MULTIFACE_NORTH();
147 MCAPI
static int const& MULTIFACE_SIDES();
149 MCAPI
static int const& MULTIFACE_SOUTH();
151 MCAPI
static int const& MULTIFACE_UP();
153 MCAPI
static int const& MULTIFACE_WEST();
160 ::std::string
const& nameId,
163 ::std::unique_ptr<::MultifaceSpreader const> spreader
176 MCAPI ::AABB
const& $getVisualShapeInWorld(
183 MCFOLD ::AABB $getCollisionShape(
190 MCFOLD ::AABB
const& $getOutline(
197 MCAPI ::HitResult $clip(
203 ::ShapeType shapeType,
207 MCAPI ::Block
const& $getPlacementBlock(
221 MCFOLD
bool $isMultifaceBlock()
const;
223 MCFOLD
bool $isLavaBlocking()
const;
225 MCAPI ::Block
const& $sanitizeFillBlock(
::Block const& block)
const;
233 MCAPI
static void** $vftable();