Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <BlockFarmland.h>
Static Public Member Functions | |
static void | TurnToDirt (cChunk &a_Chunk, const Vector3i a_AbsPos, const Vector3i a_RelPos) |
Turns farmland into dirt. More... | |
static void | TurnToDirt (cChunk &a_Chunk, Vector3i a_AbsPos) |
Turns farmland into dirt. More... | |
Static Public Member Functions inherited from cBlockHandler | |
static const cBlockHandler & | For (BLOCKTYPE a_BlockType) |
static char | FortuneDiscreteRandom (char a_MinDrop, char a_DefaultMax, unsigned char a_BonusMax, char a_DropCap=25) |
Returns a random number of drops taking into account fortune. More... | |
static void | NeighborChanged (cChunkInterface &a_ChunkInterface, Vector3i a_NeighborPos, eBlockFace a_WhichNeighbor) |
Notifies the specified neighbor that the current block has changed. More... | |
static unsigned char | ToolFortuneLevel (const cItem *a_Tool) |
Returns the fortune level of a tool, if it is a valid tool. 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... | |
Private Types | |
using | Super = cBlockHandler |
Private Member Functions | |
virtual bool | CanSustainPlant (BLOCKTYPE a_Plant) const override |
Checks whether the block has an effect on growing the plant. More... | |
virtual cItems | ConvertToPickups (const NIBBLETYPE a_BlockMeta, const cItem *const a_Tool) const override |
Returns the pickups that would result if the block was mined by a_Digger using a_Tool. More... | |
virtual void | OnNeighborChanged (cChunkInterface &a_ChunkInterface, Vector3i a_BlockPos, eBlockFace a_WhichNeighbor) const override |
Called when a direct neighbor of this block has been changed. More... | |
virtual void | OnUpdate (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cBlockPluginInterface &a_PluginInterface, cChunk &a_Chunk, const Vector3i a_RelPos) const override |
Called when the block gets ticked either by a random tick or by a queued tick. More... | |
Static Private Member Functions | |
static bool | IsWaterInNear (const cChunk &a_Chunk, const Vector3i a_RelPos) |
Returns true if there's either a water source block close enough to hydrate the specified position, or it's raining there. More... | |
Additional Inherited Members | |
Public Member Functions inherited from cBlockHandler | |
virtual bool | CanBeAt (const cChunk &a_Chunk, Vector3i a_Position, NIBBLETYPE a_Meta) const |
Checks if the block can stay at the specified relative coords in the chunk. More... | |
constexpr | cBlockHandler (BLOCKTYPE a_BlockType) |
void | Check (cChunkInterface &ChunkInterface, cBlockPluginInterface &a_PluginInterface, Vector3i a_RelPos, cChunk &a_Chunk) const |
Called when one of the neighbors gets set; equivalent to MC block update. More... | |
virtual bool | DoesIgnoreBuildCollision (const cWorld &a_World, const cItem &a_HeldItem, Vector3i a_Position, NIBBLETYPE a_Meta, eBlockFace a_ClickedBlockFace, bool a_ClickedDirectly) const |
Checks if the player can build "inside" this block. More... | |
virtual ColourID | GetMapBaseColourID (NIBBLETYPE a_Meta) const |
Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.wiki/w/Map_item_format. More... | |
virtual cBoundingBox | GetPlacementCollisionBox (BLOCKTYPE a_XM, BLOCKTYPE a_XP, BLOCKTYPE a_YM, BLOCKTYPE a_YP, BLOCKTYPE a_ZM, BLOCKTYPE a_ZP) const |
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) const |
Grows this block, if it supports growing, by the specified amount of stages (at most). More... | |
virtual bool | IsInsideBlock (const Vector3d a_RelPosition, const NIBBLETYPE a_BlockMeta) const |
Tests if a_RelPosition is inside the block, where a_RelPosition is relative to the origin of the block. More... | |
virtual bool | IsUseable (void) const |
Called to check whether this block supports a rclk action. More... | |
virtual NIBBLETYPE | MetaMirrorXY (NIBBLETYPE a_Meta) const |
Mirrors a given block meta around the XY plane. More... | |
virtual NIBBLETYPE | MetaMirrorXZ (NIBBLETYPE a_Meta) const |
Mirros a given block meta around the XZ plane. More... | |
virtual NIBBLETYPE | MetaMirrorYZ (NIBBLETYPE a_Meta) const |
Mirros a given block meta around the YZ plane. More... | |
virtual NIBBLETYPE | MetaRotateCCW (NIBBLETYPE a_Meta) const |
Rotates a given block meta counter-clockwise. More... | |
virtual NIBBLETYPE | MetaRotateCW (NIBBLETYPE a_Meta) const |
Rotates a given block meta clockwise. More... | |
virtual void | OnBroken (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta, const cEntity *a_Digger) const |
Called after a block gets broken (replaced with air), by natural means. More... | |
virtual void | OnCancelRightClick (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const Vector3i a_BlockPos, eBlockFace a_BlockFace) const |
Called when a right click to this block is cancelled. More... | |
virtual void | OnDigging (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const Vector3i a_BlockPos) const |
Called when the player starts digging the block. More... | |
virtual void | OnPlaced (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, Vector3i a_BlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) const |
Called by cWorld::SetBlock() after the block has been set. More... | |
virtual bool | OnUse (cChunkInterface &a_ChunkInterface, cWorldInterface &a_WorldInterface, cPlayer &a_Player, const Vector3i a_BlockPos, eBlockFace a_BlockFace, const Vector3i a_CursorPos) const |
Called when the user right clicks the block and the block is useable. More... | |
Protected Member Functions inherited from cBlockHandler | |
~cBlockHandler ()=default | |
Protected Attributes inherited from cBlockHandler | |
const BLOCKTYPE | m_BlockType |
Definition at line 22 of file BlockFarmland.h.
|
private |
Definition at line 25 of file BlockFarmland.h.
|
inlineoverrideprivatevirtual |
Checks whether the block has an effect on growing the plant.
Reimplemented from cBlockHandler.
Definition at line 224 of file BlockFarmland.h.
|
inlineoverrideprivatevirtual |
Returns the pickups that would result if the block was mined by a_Digger using a_Tool.
Doesn't do any actual block change / mining, only calculates the pickups. a_Digger is the entity that caused the conversion, usually the player digging. a_Tool is the tool used for the digging. The default implementation drops a single item created from m_BlockType and the current meta.
Reimplemented from cBlockHandler.
Definition at line 93 of file BlockFarmland.h.
|
inlinestaticprivate |
Returns true if there's either a water source block close enough to hydrate the specified position, or it's raining there.
Definition at line 187 of file BlockFarmland.h.
|
inlineoverrideprivatevirtual |
Called when a direct neighbor of this block has been changed.
The position is the block's own position, NOT the changed neighbor's position. a_WhichNeighbor indicates which neighbor has changed. For example, BLOCK_FACE_YP meant the neighbor above has changed. BLOCK_FACE_NONE means that it is a neighbor not directly adjacent (diagonal, etc.)
Reimplemented from cBlockHandler.
Definition at line 153 of file BlockFarmland.h.
|
inlineoverrideprivatevirtual |
Called when the block gets ticked either by a random tick or by a queued tick.
Note that the coords in a_RelPos are chunk-relative!
Reimplemented from cBlockHandler.
Definition at line 102 of file BlockFarmland.h.
|
inlinestatic |
Turns farmland into dirt.
Will first check for any colliding entities and teleport them to a higher position.
Definition at line 47 of file BlockFarmland.h.
Turns farmland into dirt.
Will first check for any colliding entities and teleport them to a higher position.
Definition at line 34 of file BlockFarmland.h.