3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/level/ShapeType.h"
8#include "mc/world/level/block/BlockType.h"
28class StairBlock :
public ::BlockType {
32 ::ll::TypedStorage<8, 8, ::BlockType const&> mBase;
33 ::ll::TypedStorage<1, 1, bool const> mLeakyCornersFix;
34 ::ll::TypedStorage<1, 1, bool const> mStairConnectionsCauseNeighborUpdates;
39 StairBlock& operator=(StairBlock
const&);
40 StairBlock(StairBlock
const&);
46 virtual ::HitResult clip(
52 ::ShapeType shapeType,
60 virtual void addAABBs(
64 ::AABB const* intersectTestBox,
65 ::std::vector<::AABB>& inoutBoxes
68 virtual bool addCollisionShapes(
72 ::AABB const* intersectTestBox,
73 ::std::vector<::AABB>& inoutBoxes,
91 virtual bool mayPick()
const ;
103 virtual ::Block
const&
104 getPlacementBlock(
::Actor const& by,
::BlockPos const& pos, uchar face,
::Vec3 const& clickPos,
int itemValue)
const
107 virtual int getVariant(
::Block const& block)
const ;
109 virtual bool liquidCanFlowIntoFromDirection(
110 uchar flowIntoFacing,
117 virtual void _addHardCodedBlockComponents(
::Experiments const&) ;
124 ::std::string
const& nameId,
126 ::BlockType
const& base,
127 bool leakyCornersFix,
128 bool stairConnectionsCauseNeighborUpdates
138 MCNAPI
void setBaseShape(
::Block const& block,
::AABB& shape,
bool shrink)
const;
156 MCNAPI static ::std::add_lvalue_reference_t<int const[8][2]>
DEAD_SPACES();
163 ::std::string
const& nameId,
165 ::BlockType
const& base,
166 bool leakyCornersFix,
167 bool stairConnectionsCauseNeighborUpdates
180 ::ShapeType shapeType,
191 ::AABB const* intersectTestBox,
192 ::std::vector<::AABB>& inoutBoxes
199 ::AABB const* intersectTestBox,
200 ::std::vector<::AABB>& inoutBoxes,
239 uchar flowIntoFacing,
Definition BaseGameVersion.h:8
Definition BlockSource.h:72
Definition EntityContext.h:15
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
Definition IConstBlockSource.h:25
MCAPI void $destroy(::BlockSource ®ion, ::BlockPos const &pos, ::Block const &block, ::Actor *entitySource) const
static MCAPI void ** $vftable()
MCAPI void $addAABBs(::Block const &block, ::IConstBlockSource const ®ion, ::BlockPos const &blockPos, ::AABB const *intersectTestBox, ::std::vector<::AABB > &inoutBoxes) const
MCAPI void $animateTick(::BlockAnimateTickData const &tickData) const
MCAPI bool $mayPick() const
MCAPI bool setInnerPieceShape(::Block const &block, ::IConstBlockSource const &, ::BlockPos const &, ::AABB &shape, bool shrink) const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
MCAPI bool $breaksFallingBlocks(::Block const &block, ::BaseGameVersion const version) const
MCAPI void $onExploded(::BlockSource ®ion, ::BlockPos const &pos, ::Actor *entitySource) const
MCAPI bool $mayPick(::BlockSource const ®ion, ::Block const &block, bool liquid) const
MCAPI bool _neighboringBlockCheckForCreatingBarrierInDirection(::std::function<::Block const &(::BlockPos const &)> const &getBlock, ::BlockPos const &pos, int directionToCheck) const
MCAPI void * $ctor(::std::string const &nameId, int id, ::BlockType const &base, bool leakyCornersFix, bool stairConnectionsCauseNeighborUpdates)
MCAPI void $onStandOn(::EntityContext &entity, ::BlockPos const &pos) const
MCAPI StairBlock(::std::string const &nameId, int id, ::BlockType const &base, bool leakyCornersFix, bool stairConnectionsCauseNeighborUpdates)
MCAPI::AABB const & $getOutline(::Block const &, ::IConstBlockSource const &, ::BlockPos const &pos, ::AABB &bufferValue) const
MCAPI bool $getLiquidClipVolume(::Block const &block, ::BlockSource ®ion, ::BlockPos const &pos, ::AABB &includeBox) const
MCAPI bool $liquidCanFlowIntoFromDirection(uchar flowIntoFacing, ::std::function<::Block const &(::BlockPos const &)> const &getBlock, ::BlockPos const &pos) const
MCAPI void $_addHardCodedBlockComponents(::Experiments const &)
MCAPI int $getVariant(::Block const &block) const
MCAPI bool $addCollisionShapes(::Block const &block, ::IConstBlockSource const ®ion, ::BlockPos const &pos, ::AABB const *intersectTestBox, ::std::vector<::AABB > &inoutBoxes, ::optional_ref<::GetCollisionShapeInterface const > entity) const
MCAPI bool $attack(::Player *player, ::BlockPos const &pos) const
MCAPI bool $mayPlace(::BlockSource ®ion, ::BlockPos const &pos, uchar face) const
static MCAPI ::std::add_lvalue_reference_t< int const[8][2]> DEAD_SPACES()
MCAPI bool setStepShape(::Block const &block, ::IConstBlockSource const &, ::BlockPos const &, ::AABB &shape, bool shrink) const
MCAPI::HitResult $clip(::Block const &block, ::BlockSource const ®ion, ::BlockPos const &pos, ::Vec3 const &A, ::Vec3 const &B, ::ShapeType shapeType, ::optional_ref<::GetCollisionShapeInterface const > entity) const
MCAPI void $onRemove(::BlockSource ®ion, ::BlockPos const &pos) const
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14