6 #include "../EffectID.h"
12 public cClearMetaOnDrop<cYawRotator<cBlockHandler, 0x03, 0x02, 0x03, 0x00, 0x01>>
35 if ((OldMetaData & 1) == (NewMetaData & 1))
38 a_ChunkInterface.
SetBlockMeta(a_BlockPos, (OldMetaData & 4) | (NewMetaData & 3));
90 ASSERT(!
"Unhandled blocktype in fence gate handler!");
@ E_BLOCK_BIRCH_FENCE_GATE
@ E_BLOCK_ACACIA_FENCE_GATE
@ E_BLOCK_SPRUCE_FENCE_GATE
@ E_BLOCK_DARK_OAK_FENCE_GATE
@ E_BLOCK_JUNGLE_FENCE_GATE
unsigned char NIBBLETYPE
The datatype used by nibbledata (meta, light, skylight)
eBlockFace
Block face constants, used in PlayerDigging and PlayerBlockPlacement packets and bbox collision calc.
@ SFX_RANDOM_FENCE_GATE_OPEN
virtual bool IsUseable(void) const override
virtual bool OnUse(cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const Vector3i a_BlockPos, eBlockFace a_BlockFace, const Vector3i a_CursorPos) const override
virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override
virtual void OnCancelRightClick(cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const Vector3i a_BlockPos, eBlockFace a_BlockFace) const override
void SetBlockMeta(Vector3i a_BlockPos, NIBBLETYPE a_MetaData)
Sets the meta for the specified block, while keeping the blocktype.
NIBBLETYPE GetBlockMeta(Vector3i a_Pos)
Mixin to clear the block's meta value when converting to a pickup.
cMetaRotator< Base, BitMask, North, East, South, West, AssertIfNotMatched > Super
static NIBBLETYPE YawToMetaData(double a_Rotation)
Converts the rotation value as returned by cPlayer::GetYaw() to the appropriate metadata value for a ...
virtual void SendBlockTo(int a_BlockX, int a_BlockY, int a_BlockZ, const cPlayer &a_Player)=0
Sends the block on those coords to the player.
double GetYaw(void) const
cWorld * GetWorld(void) const
cClientHandle * GetClientHandle(void) const
virtual void BroadcastSoundParticleEffect(const EffectID a_EffectID, Vector3i a_SrcPos, int a_Data, const cClientHandle *a_Exclude=nullptr) override