3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/level/block/FallingBlock.h"
7#include "mc/world/level/block/SpeleothemThickness.h"
21namespace mce {
class Color; }
27 enum class DealsFallDamage : uchar {
32 enum class GrowsStalagmite : uchar {
40 ::ll::TypedStorage<8, 8, ::HashedString const&> mBlockToGrowOn;
41 ::ll::TypedStorage<4, 4, int> mMaxLength;
42 ::ll::TypedStorage<1, 1, ::SpeleothemBlock::GrowsStalagmite> mGrowsStalagmite;
43 ::ll::TypedStorage<4, 4, float> mGrowthProbability;
48 SpeleothemBlock& operator=(SpeleothemBlock
const&);
49 SpeleothemBlock(SpeleothemBlock
const&);
55 virtual ::mce::Color getDustColor(
::Block const&)
const ;
57 virtual ::std::string getDustParticleName(
::Block const&)
const ;
59 virtual int getVariant(
::Block const& block)
const ;
61 virtual ::Block
const&
62 getPlacementBlock(
::Actor const& by,
::BlockPos const& pos, uchar face,
::Vec3 const& clickPos,
int itemValue)
const
74 virtual ::Block
const& getInitialDefaultState() ;
76 virtual ::AABB
const& getVisualShape(
::Block const& block,
::AABB& bufferAABB)
const ;
83 virtual bool falling()
const ;
91 virtual bool _canGrow(
::Block const& rootBlock,
::Block const& aboveRootLiquidBlock)
const;
95 virtual void _createSpeleothem(
99 ::SpeleothemThickness thickness
107 ::std::string
const& nameId,
111 ::SpeleothemBlock::GrowsStalagmite growsStalagmite,
112 float growthProbability,
113 ::SpeleothemBlock::DealsFallDamage dealsFallDamage
120 bool mergeOpposingTips
127 MCNAPI ::std::optional<::BlockPos>
130 MCNAPI ::std::optional<::BlockPos>
158 ::std::string
const& nameId,
162 ::SpeleothemBlock::GrowsStalagmite growsStalagmite,
163 float growthProbability,
164 ::SpeleothemBlock::DealsFallDamage dealsFallDamage
216 ::SpeleothemThickness thickness
Definition BlockEntityFallOnEvent.h:17
Definition BlockQueuedTickEvent.h:16
Definition BlockRandomTickEvent.h:16
Definition BlockSource.h:72
Definition FallingBlock.h:19
Definition HashedString.h:5
MCAPI void $randomTick(::BlockEvents::BlockRandomTickEvent &eventData) const
MCAPI void _createMergedTips(::BlockSource ®ion, ::Block const &tipBlock, ::BlockPos const &tipPos) const
MCAPI void $_createSpeleothem(::BlockSource ®ion, ::BlockPos const &pos, uchar direction, ::SpeleothemThickness thickness) const
MCAPI::std::string $getDustParticleName(::Block const &) const
MCAPI int $getVariant(::Block const &block) const
MCAPI void $onProjectileHit(::BlockSource ®ion, ::BlockPos const &pos, ::Actor const &projectile) const
MCAPI ::std::optional<::BlockPos > _findRootBlock(::BlockSource ®ion, ::BlockPos const &pos, int maxSearchLength) const
MCAPI bool $falling() const
MCAPI void _growStalagmiteBelow(::BlockSource ®ion, ::BlockPos const &growIntoPos) const
MCAPI bool $mayPlace(::BlockSource ®ion, ::BlockPos const &pos) const
static MCAPI bool _isTip(::Block const &block, bool includeMergedTip)
MCAPI bool $_isValidTipGrowPos(::BlockSource ®ion, ::BlockPos const &growPos, uchar growDirection) const
MCAPI bool $canGrow(::BlockSource ®ion, ::BlockPos const &pos, ::BlockPos const &stalactiteTipPos) const
MCAPI bool $canSurvive(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI::SpeleothemThickness _calculateSpeleothemThickness(::BlockSource ®ion, ::BlockPos const &pos, uchar tipDirection, bool mergeOpposingTips) const
static MCAPI bool isSpeleothemWithDirection(::Block const &block, uchar tipDirection)
MCAPI bool $_canGrow(::Block const &rootBlock, ::Block const &aboveRootLiquidBlock) const
MCAPI void * $ctor(::std::string const &nameId, int id, ::HashedString const &blockToGrowOn, int maxLength, ::SpeleothemBlock::GrowsStalagmite growsStalagmite, float growthProbability, ::SpeleothemBlock::DealsFallDamage dealsFallDamage)
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
MCAPI bool _canTipGrow(::BlockSource ®ion, ::BlockPos const &tipPos) const
MCAPI void growStalagmite(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI ::std::optional<::BlockPos > _findTip(::BlockSource ®ion, ::BlockPos const &pos, uchar searchDirection, int maxSearchLength, bool) const
MCAPI void $onLand(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI::mce::Color $getDustColor(::Block const &) const
MCAPI::AABB const & $getVisualShape(::Block const &block, ::AABB &bufferAABB) const
MCAPI SpeleothemBlock(::std::string const &nameId, int id, ::HashedString const &blockToGrowOn, int maxLength, ::SpeleothemBlock::GrowsStalagmite growsStalagmite, float growthProbability, ::SpeleothemBlock::DealsFallDamage dealsFallDamage)
MCAPI void growStalactite(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI void onFallOn(::BlockEvents::BlockEntityFallOnEvent &eventData) const
MCAPI void tick(::BlockEvents::BlockQueuedTickEvent const &eventData) const
MCAPI void $neighborChanged(::BlockSource ®ion, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
MCAPI::Block const & $getInitialDefaultState()
static MCAPI void ** $vftable()
MCAPI void $startFalling(::BlockSource ®ion, ::BlockPos const &pos, ::Block const &oldBlock, bool creative) const
MCAPI void _grow(::BlockSource ®ion, ::BlockPos const &growFromPos, uchar growToDirection) const