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 ;
92 MCAPI MultifaceBlock(::std::string
const& nameId,
int id,
::Material const& material);
95 ::std::string
const& nameId,
98 ::std::unique_ptr<::MultifaceSpreader const> spreader
104 MCAPI
void _removeBlock(
108 bool canSpawnParticles
111 MCAPI
void removeFace(
117 bool canSpawnParticles
126 MCAPI
static int _getNumSides(
::Block const& block);
128 MCAPI
static bool _hasAnyFace(
::Block const& block);
130 MCAPI
static bool _hasAnyVacantFace(
::Block const& block);
132 MCAPI
static int convertOldMultifaceToNewMultifaceValue(
int oldMultifaceDirections);
134 MCAPI static ::Block
const& getBlockForPlacement(
139 uchar placementDirection
142 MCAPI static ::Block
const& getBlockForPlacementOrFillMoreFaces(
147 uchar placementDirection
150 MCAPI static ::Block
const& getBlockForPlacementWorldGen(
155 uchar placementDirection
159 MCAPI static ::std::vector<uchar> getFacingListFromMask(uchar faceDirectionBits);
162 MCAPI
static bool hasFace(
::Block const& block, uchar faceDirection);
168 MCAPI
static int const& MULTIFACE_ALL();
170 MCAPI
static int const& MULTIFACE_DOWN();
172 MCAPI
static int const& MULTIFACE_EAST();
174 MCAPI
static int const& MULTIFACE_NORTH();
176 MCAPI
static int const& MULTIFACE_SIDES();
178 MCAPI
static int const& MULTIFACE_SOUTH();
180 MCAPI
static int const& MULTIFACE_UP();
182 MCAPI
static int const& MULTIFACE_WEST();
188 MCAPI
void* $ctor(::std::string
const& nameId,
int id,
::Material const& material);
191 ::std::string
const& nameId,
194 ::std::unique_ptr<::MultifaceSpreader const> spreader
207 MCAPI ::AABB
const& $getVisualShapeInWorld(
214 MCFOLD ::AABB $getCollisionShape(
221 MCFOLD ::AABB
const& $getOutline(
228 MCAPI ::HitResult $clip(
234 ::ShapeType shapeType,
238 MCAPI ::Block
const& $getPlacementBlock(
252 MCFOLD
bool $isMultifaceBlock()
const;
254 MCFOLD
bool $isLavaBlocking()
const;
256 MCAPI ::Block
const& $sanitizeFillBlock(
::Block const& block)
const;
264 MCAPI
static void** $vftable();