summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockBed.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Blocks/BlockBed.h')
-rw-r--r--src/Blocks/BlockBed.h73
1 files changed, 30 insertions, 43 deletions
diff --git a/src/Blocks/BlockBed.h b/src/Blocks/BlockBed.h
index 0a5a0e300..aacd26e73 100644
--- a/src/Blocks/BlockBed.h
+++ b/src/Blocks/BlockBed.h
@@ -22,75 +22,62 @@ class cBlockBedHandler :
public:
- cBlockBedHandler(BLOCKTYPE a_BlockType):
- Super(a_BlockType)
+ using Super::Super;
+
+ static Vector3i MetaDataToDirection(NIBBLETYPE a_MetaData)
{
+ switch (a_MetaData)
+ {
+ case 0: return Vector3i(0, 0, 1);
+ case 1: return Vector3i(-1, 0, 0);
+ case 2: return Vector3i(0, 0, -1);
+ case 3: return Vector3i(1, 0, 0);
+ }
+ return Vector3i();
}
+ static void SetBedOccupationState(cChunkInterface & a_ChunkInterface, Vector3i a_BedPosition, bool a_IsOccupied)
+ {
+ auto Meta = a_ChunkInterface.GetBlockMeta(a_BedPosition);
+ if (a_IsOccupied)
+ {
+ Meta |= 0x04; // Where 0x4 = occupied bit
+ }
+ else
+ {
+ Meta &= 0x0b; // Clear the "occupied" bit of the bed's block
+ }
+ a_ChunkInterface.SetBlockMeta(a_BedPosition, Meta);
+ }
-
+private:
// Overrides:
virtual void OnBroken(
cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface,
const Vector3i a_BlockPos,
BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta
- ) override;
+ ) const override;
virtual bool OnUse(
cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer & a_Player,
const Vector3i a_ClickedBlockPos,
eBlockFace a_ClickedBlockFace,
const Vector3i a_CursorPos
- ) override;
+ ) const override;
virtual cItems ConvertToPickups(
NIBBLETYPE a_BlockMeta,
cBlockEntity * a_BlockEntity,
const cEntity * a_Digger,
const cItem * a_Tool
- ) override;
+ ) const override;
virtual void OnPlacedByPlayer(
cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer & a_Player,
const sSetBlock & a_BlockChange
- ) override;
-
-
-
-
-
- static Vector3i MetaDataToDirection(NIBBLETYPE a_MetaData)
- {
- switch (a_MetaData)
- {
- case 0: return Vector3i( 0, 0, 1);
- case 1: return Vector3i(-1, 0, 0);
- case 2: return Vector3i( 0, 0, -1);
- case 3: return Vector3i( 1, 0, 0);
- }
- return Vector3i();
- }
-
-
-
-
-
- static void SetBedOccupationState(cChunkInterface & a_ChunkInterface, Vector3i a_BedPosition, bool a_IsOccupied)
- {
- auto Meta = a_ChunkInterface.GetBlockMeta(a_BedPosition);
- if (a_IsOccupied)
- {
- Meta |= 0x04; // Where 0x4 = occupied bit
- }
- else
- {
- Meta &= 0x0b; // Clear the "occupied" bit of the bed's block
- }
-
- a_ChunkInterface.SetBlockMeta(a_BedPosition, Meta);
- }
+ ) const override;
@@ -102,7 +89,7 @@ public:
- virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override
+ virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override
{
UNUSED(a_Meta);
return 28;