3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/Direction.h"
8#include "mc/world/level/block/BlockType.h"
9#include "mc/world/level/block/RedstoneSide.h"
29class RedStoneWireBlock :
public ::BlockType {
41 ::ll::TypedStorage<4, 4, ::RedstoneSide> north;
42 ::ll::TypedStorage<4, 4, ::RedstoneSide> east;
43 ::ll::TypedStorage<4, 4, ::RedstoneSide> south;
44 ::ll::TypedStorage<4, 4, ::RedstoneSide> west;
51 ::ll::TypedStorage<4, 4, int const> mConnectionUpdateFlags;
61 virtual ::AABB getCollisionShape(
74 virtual ::Block
const&
75 getPlacementBlock(
::Actor const& by,
::BlockPos const& pos, uchar face,
::Vec3 const& clickPos,
int itemValue)
const
80 virtual bool requiresLegacyRedstoneSetup() const ;
93 virtual
bool canSpawnOn(::
Actor*) const ;
101 MCNAPI RedStoneWireBlock(::
std::
string const& nameId,
int id,
int connectionUpdateFlags);
103 MCAPI
void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
108 MCNAPI
void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
110 MCAPI
void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
120 MCNAPI static ::RedstoneSide
127 MCNAPI
void*
$ctor(::
std::
string const& nameId,
int id,
int connectionUpdateFlags);
150 ::
Vec3 const& clickPos,
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockSource.h:72
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
MCAPI::ItemInstance $asItemInstance(::Block const &, ::BlockActor const *) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI void _updateIndirectConnectionShapes(::BlockSource ®ion, ::BlockPos const &pos, bool isBeingRemoved) const
MCAPI bool $shouldConnectToRedstone(::BlockSource ®ion, ::BlockPos const &pos, ::Direction::Type direction) const
MCAPI bool $mayPlace(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI bool $requiresLegacyRedstoneSetup() const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
static MCAPI ::RedstoneSide computeWireSideShape(::BlockSource ®ion, ::BlockPos const &pos, ::Direction::Type direction)
MCAPI bool $canSurvive(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI void $onRemove(::BlockSource ®ion, ::BlockPos const &pos) const
static MCAPI bool _shouldUpdateConnectionShapes(::BlockSource ®ion, ::BlockPos const &pos)
MCAPI void $onStructureBlockPlace(::BlockSource ®ion, ::BlockPos const &pos) const
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
MCAPI bool $canSpawnOn(::Actor *) const
static MCAPI void ** $vftable()
MCAPI::AABB $getCollisionShape(::Block const &, ::IConstBlockSource const &, ::BlockPos const &, ::optional_ref<::GetCollisionShapeInterface const >) const
MCAPI void * $ctor(::std::string const &nameId, int id, int connectionUpdateFlags)
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14
Definition RedStoneWireBlock.h:37