3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/deps/shared_types/legacy/LevelEvent.h"
8#include "mc/deps/shared_types/v1_26_20/block/MaterialType.h"
9#include "mc/events/MinecraftEventing.h"
10#include "mc/world/level/ShapeType.h"
11#include "mc/world/level/block/ActorBlockBase.h"
12#include "mc/world/level/block/BlockSupportType.h"
13#include "mc/world/level/block/BlockType.h"
14#include "mc/world/level/block/CauldronLiquidType.h"
41class CauldronBlock :
public ::ActorBlock {
49 virtual bool addCollisionShapes(
53 ::AABB const* intersectTestBox,
54 ::std::vector<::AABB>& inoutBoxes,
58 virtual ::HitResult clip(
64 ::ShapeType shapeType,
68 virtual void addAABBs(
72 ::AABB const* intersectTestBox,
73 ::std::vector<::AABB>& inoutBoxes
76 virtual bool canProvideSupport(
::Block const&, uchar face, ::BlockSupportType type)
const ;
79 handlePrecipitation(
::BlockSource& region,
::BlockPos const& pos,
float downfallAmount,
float temperature)
const
84 virtual bool hasComparatorSignal()
const ;
91 virtual bool isInteractiveBlock()
const ;
93 virtual int getExtraRenderLayers()
const ;
100 virtual ::Brightness getLight(
::Block const& block)
const ;
102 virtual ::Brightness getLightEmission(
::Block const& block)
const ;
115 setLiquidLevel(
::BlockSource& region,
::BlockPos const& pos,
int liquidLevel, ::CauldronLiquidType type)
const;
125 MCAPI
static void _sendCauldronUsedEventToClient(
128 ::MinecraftEventing::POIBlockInteractionType interactionType
151 ::SharedTypes::v1_26_20::MaterialType liquidType
155 MCNAPI
static void spawnBubbleParticles(
::Level& level,
::Vec3 const& pos,
::Random&,
int,
int count);
159 MCNAPI
static void spawnPotionParticles(
::Level& level,
::Vec3 const& pos,
::Random&,
int color,
int count);
161 MCNAPI
static void spawnSplashParticles(
::Level& level,
::Vec3 const& pos,
::Random&,
int color,
int count);
174 MCNAPI
void*
$ctor(::std::string
const& nameId,
int id);
184 ::AABB const* intersectTestBox,
185 ::std::vector<::AABB>& inoutBoxes,
195 ::ShapeType shapeType,
203 ::AABB const* intersectTestBox,
204 ::std::vector<::AABB>& inoutBoxes
Definition BaseGameVersion.h:8
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockSource.h:72
Definition CauldronBlockActor.h:24
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::Brightness $getLightEmission(::Block const &block) const
MCAPI void $addAABBs(::Block const &block, ::IConstBlockSource const ®ion, ::BlockPos const &pos, ::AABB const *intersectTestBox, ::std::vector<::AABB > &inoutBoxes) const
MCAPI CauldronBlock(::std::string const &nameId, int id)
MCAPI void $handlePrecipitation(::BlockSource ®ion, ::BlockPos const &pos, float downfallAmount, float temperature) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI int $getExtraRenderLayers() const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
MCAPI void * $ctor(::std::string const &nameId, int id)
MCAPI bool $hasComparatorSignal() const
MCAPI int $getComparatorSignal(::BlockSource ®ion, ::BlockPos const &pos, ::Block const &block, uchar dir) const
static MCAPI void ** $vftable()
MCAPI bool $canProvideSupport(::Block const &, uchar face, ::BlockSupportType type) const
static MCAPI bool canReceiveStalactiteDrip(::BlockSource ®ion, ::BlockPos const &pos, ::SharedTypes::v1_26_20::MaterialType liquidType)
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 void tick(::BlockEvents::BlockQueuedTickEvent &eventData) const
MCAPI bool $breaksFallingBlocks(::Block const &block, ::BaseGameVersion const version) const
MCAPI::Brightness $getLight(::Block const &block) const
MCAPI void _explodeCauldronContents(::BlockSource ®ion, ::BlockPos const &pos, ushort) const
MCAPI void $neighborChanged(::BlockSource ®ion, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
static MCAPI bool _useDyeableComponent(::ItemStack &itemInstance, ::Player &player, ::BlockPos const &pos, ::CauldronBlockActor &blockEntity, ::BlockSource ®ion, int fillLevel, bool isEmpty, bool isWater, bool isCleanWater)
static MCAPI ::BaseGameVersion const & CAULDRON_DOESNT_BREAK_FALLING_BLOCK_VERSION()
MCAPI bool $isInteractiveBlock() const
MCAPI::ItemInstance $asItemInstance(::Block const &, ::BlockActor const *) const
static MCAPI void _spawnCauldronEvent(::BlockSource ®ion, ::BlockPos const &pos, ::SharedTypes::Legacy::LevelEvent levelEvent)
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8