![]() |
Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <BlockEnchantmentTable.h>
Public Member Functions | |
cBlockEnchantmentTableHandler (BLOCKTYPE a_BlockType) | |
virtual ColourID | GetMapBaseColourID (NIBBLETYPE a_Meta) override |
Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.gamepedia.com/Map_item_format. More... | |
virtual bool | IsUseable (void) override |
Checks if the block can be placed at this point. More... | |
virtual bool | OnUse (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override |
Called if the user right clicks the block and the block is useable returns true if the use was successful, return false to use the block as a "normal" block. More... | |
![]() | |
virtual bool | CanBeAt (cChunkInterface &a_ChunkInterface, int a_RelX, int a_RelY, int a_RelZ, const cChunk &a_Chunk) |
Checks if the block can stay at the specified relative coords in the chunk. More... | |
virtual bool | CanSustainPlant (BLOCKTYPE a_Plant) |
Checks whether the block has an effect on growing the plant. More... | |
cBlockHandler (BLOCKTYPE a_BlockType) | |
virtual void | Check (cChunkInterface &ChunkInterface, cBlockPluginInterface &a_PluginInterface, Vector3i a_RelPos, cChunk &a_Chunk) |
Called when one of the neighbors gets set; equivalent to MC block update. More... | |
virtual cItems | ConvertToPickups (NIBBLETYPE a_BlockMeta, cBlockEntity *a_BlockEntity, const cEntity *a_Digger=nullptr, const cItem *a_Tool=nullptr) |
Returns the pickups that would result if the block was mined by a_Digger using a_Tool. More... | |
virtual bool | DoesDropOnUnsuitable (void) |
Returns if this block drops if it gets destroyed by an unsuitable situation. More... | |
virtual bool | DoesIgnoreBuildCollision (cChunkInterface &ChunkInterface, Vector3i a_Pos, cPlayer &a_Player, NIBBLETYPE a_Meta) |
Checks if the player can build "inside" this block. More... | |
virtual bool | GetPlacementBlockTypeMeta (cChunkInterface &a_ChunkInterface, cPlayer &a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE &a_BlockType, NIBBLETYPE &a_BlockMeta) |
Called before a block is placed into a world. More... | |
virtual cBoundingBox | GetPlacementCollisionBox (BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) |
Returns the relative bounding box that must be entity-free in order for the block to be placed. More... | |
virtual int | Grow (cChunk &a_Chunk, Vector3i a_RelPos, int a_NumStages=1) |
Grows this block, if it supports growing, by the specified amount of stages (at most). More... | |
virtual bool | IsClickedThrough (void) |
Indicates whether the client will click through this block. More... | |
virtual bool | IsInsideBlock (Vector3d a_Position, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta) |
Tests if a_Position is inside the block where a_Position is relative to the origin of the block Note that this is considered from a "top-down" perspective i.e. More... | |
virtual NIBBLETYPE | MetaMirrorXY (NIBBLETYPE a_Meta) |
Mirrors a given block meta around the XY plane. More... | |
virtual NIBBLETYPE | MetaMirrorXZ (NIBBLETYPE a_Meta) |
Mirros a given block meta around the XZ plane. More... | |
virtual NIBBLETYPE | MetaMirrorYZ (NIBBLETYPE a_Meta) |
Mirros a given block meta around the YZ plane. More... | |
virtual NIBBLETYPE | MetaRotateCCW (NIBBLETYPE a_Meta) |
Rotates a given block meta counter-clockwise. More... | |
virtual NIBBLETYPE | MetaRotateCW (NIBBLETYPE a_Meta) |
Rotates a given block meta clockwise. More... | |
virtual void | OnBreaking (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, Vector3i a_BlockPos) |
Called before a block gets broken (replaced with air), either by player or by natural means. More... | |
virtual void | OnBroken (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta) |
Called after a block gets broken (replaced with air), either by player or by natural means. More... | |
virtual void | OnCancelRightClick (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace) |
Called when a right click to this block is cancelled. More... | |
virtual void | OnDigging (cChunkInterface &cChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) |
Called when the player starts digging the block. More... | |
virtual void | OnNeighborChanged (cChunkInterface &a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) |
Called when a direct neighbor of this block has been changed. More... | |
virtual void | OnPlaced (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) |
Called by cWorld::SetBlock() after the block has been set. More... | |
virtual void | OnPlacedByPlayer (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const sSetBlock &a_BlockChange) |
Called by cPlayer::PlaceBlocks() for each block after it has been set to the world. More... | |
virtual void | OnPlayerBreakingBlock (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, Vector3i a_BlockPos) |
Called just before the player breaks the block. More... | |
virtual void | OnPlayerBrokeBlock (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, Vector3i a_BlockPos, BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta) |
Called just after the player breaks the block. More... | |
virtual void | OnUpdate (cChunkInterface &cChunkInterface, cWorldInterface &a_WorldInterface, cBlockPluginInterface &a_BlockPluginInterface, cChunk &a_Chunk, int a_RelX, int a_RelY, int a_RelZ) |
Called when the block gets ticked either by a random tick or by a queued tick. More... | |
virtual | ~cBlockHandler () |
Additional Inherited Members | |
![]() | |
static void | NeighborChanged (cChunkInterface &a_ChunkInterface, Vector3i a_NeighborPos, eBlockFace a_WhichNeighbor) |
Notifies the specified neighbor that the current block has changed. More... | |
static bool | ToolHasSilkTouch (const cItem *a_Tool) |
Returns true if the specified tool is valid and has a non-zero silk-touch enchantment. More... | |
![]() | |
static cBlockHandler * | CreateBlockHandler (BLOCKTYPE a_BlockType) |
![]() | |
BLOCKTYPE | m_BlockType |
Definition at line 12 of file BlockEnchantmentTable.h.
|
inline |
Definition at line 16 of file BlockEnchantmentTable.h.
|
inlineoverridevirtual |
Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.gamepedia.com/Map_item_format.
Reimplemented from cBlockHandler.
Definition at line 33 of file BlockEnchantmentTable.h.
|
inlineoverridevirtual |
Checks if the block can be placed at this point.
Default: CanBeAt(...) NOTE: This call doesn't actually place the block Called to check whether this block supports a rclk action. If it returns true, OnUse() is called
Reimplemented from cBlockHandler.
Definition at line 28 of file BlockEnchantmentTable.h.
|
inlineoverridevirtual |
Called if the user right clicks the block and the block is useable returns true if the use was successful, return false to use the block as a "normal" block.
Reimplemented from cBlockHandler.
Definition at line 21 of file BlockEnchantmentTable.h.