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/ActorBlockBase.h"
9#include "mc/world/level/block/BlockSupportType.h"
10#include "mc/world/level/block/BlockType.h"
30class HopperBlock :
public ::ActorBlock {
40 virtual bool isInteractiveBlock()
const ;
42 virtual bool isContainerBlock()
const ;
44 virtual bool addCollisionShapes(
48 ::AABB const* intersectTestBox,
49 ::std::vector<::AABB>& inoutBoxes,
53 virtual void addAABBs(
57 ::AABB const* intersectTestBox,
58 ::std::vector<::AABB>& inoutBoxes
61 virtual ::HitResult clip(
67 ::ShapeType shapeType,
71 virtual bool canProvideSupport(
::Block const&, uchar face, ::BlockSupportType)
const ;
73 virtual ::Block
const&
74 getPlacementBlock(
::Actor const& by,
::BlockPos const& pos, uchar face,
::Vec3 const& clickPos,
int itemValue)
const
77 virtual bool hasComparatorSignal()
const ;
86 virtual bool allowStateMismatchOnPlacement(
::Block const& clientTarget,
::Block const& serverTarget)
const
119 MCNAPI
void*
$ctor(::std::string
const& nameId,
int id);
135 ::AABB const* intersectTestBox,
136 ::std::vector<::AABB>& inoutBoxes,
144 ::AABB const* intersectTestBox,
145 ::std::vector<::AABB>& inoutBoxes
154 ::ShapeType shapeType,
Definition BaseGameVersion.h:8
Definition BlockActor.h:30
Definition BlockPlayerInteractEvent.h:18
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockSource.h:72
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
static MCAPI void _onSetupRedstoneComponent(::BlockSource ®ion, ::BlockPos const &pos)
MCAPI void $movedByPiston(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI void use(::BlockEvents::BlockPlayerInteractEvent &eventData) const
MCAPI int $getComparatorSignal(::BlockSource ®ion, ::BlockPos const &pos, ::Block const &block, uchar dir) 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 void $addAABBs(::Block const &block, ::IConstBlockSource const ®ion, ::BlockPos const &pos, ::AABB const *intersectTestBox, ::std::vector<::AABB > &inoutBoxes) const
static MCAPI ::BaseGameVersion const & HOPPER_DOESNT_BREAK_FALLING_BLOCK_VERSION()
MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent &blockEvent) const
MCAPI::AABB _getSpoutAABB(::Block const &block) const
MCAPI void $onRemove(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI bool $isContainerBlock() const
MCAPI bool $canProvideSupport(::Block const &, uchar face, ::BlockSupportType) const
MCAPI bool $breaksFallingBlocks(::Block const &block, ::BaseGameVersion const version) const
MCAPI bool $hasComparatorSignal() const
MCAPI HopperBlock(::std::string const &nameId, int id)
MCAPI bool $isInteractiveBlock() const
MCAPI void * $ctor(::std::string const &nameId, int id)
MCAPI bool $allowStateMismatchOnPlacement(::Block const &clientTarget, ::Block const &serverTarget) 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::ItemInstance $asItemInstance(::Block const &, ::BlockActor const *) const
static MCAPI void ** $vftable()
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition optional_ref.h:10