summaryrefslogtreecommitdiffstats
path: root/source/Blocks/BlockBed.h
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-01 23:08:15 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-01 23:08:15 +0200
commit85164fab8e5298ce1c0582b2aebb7e6a283d4a0c (patch)
tree6fdaf7f724044a025ecc9f1a8cadf8ee61d9355d /source/Blocks/BlockBed.h
parentAdded some missing block enums (diff)
downloadcuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar.gz
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar.bz2
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar.lz
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar.xz
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.tar.zst
cuberite-85164fab8e5298ce1c0582b2aebb7e6a283d4a0c.zip
Diffstat (limited to '')
-rw-r--r--source/Blocks/BlockBed.h59
1 files changed, 35 insertions, 24 deletions
diff --git a/source/Blocks/BlockBed.h b/source/Blocks/BlockBed.h
index b7b055aa8..0fe2a1e07 100644
--- a/source/Blocks/BlockBed.h
+++ b/source/Blocks/BlockBed.h
@@ -1,10 +1,17 @@
+
#pragma once
+
#include "BlockHandler.h"
#include "../World.h"
#include "../Sign.h"
#include "../Player.h"
-class cBlockBedHandler : public cBlockHandler
+
+
+
+
+class cBlockBedHandler :
+ public cBlockHandler
{
public:
cBlockBedHandler(BLOCKTYPE a_BlockID)
@@ -12,27 +19,26 @@ public:
{
}
- virtual void PlaceBlock(cWorld *a_World, cPlayer *a_Player, NIBBLETYPE a_BlockMeta, int a_X, int a_Y, int a_Z, char a_Dir) override;
- virtual void OnDestroyed(cWorld *a_World, int a_X, int a_Y, int a_Z) override;
- virtual void OnUse(cWorld *a_World, cPlayer *a_Player, int a_X, int a_Y, int a_Z) override;
+ virtual void PlaceBlock(cWorld * a_World, cPlayer * a_Player, NIBBLETYPE a_BlockMeta, int a_X, int a_Y, int a_Z, char a_Dir) override;
+ virtual void OnDestroyed(cWorld * a_World, int a_X, int a_Y, int a_Z) override;
+ virtual void OnUse(cWorld * a_World, cPlayer * a_Player, int a_X, int a_Y, int a_Z) override;
- virtual bool IsUseable() override
+
+ virtual bool IsUseable(void) override
{
return true;
}
+
- virtual int GetDropID() override
+ virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
{
- return E_ITEM_BED;
+ // Reset meta to zero
+ a_Pickups.push_back(cItem(E_ITEM_BED, 1, 0));
}
- virtual NIBBLETYPE GetDropMeta(NIBBLETYPE a_BlockMeta) override
- {
- return 0;
- }
- virtual bool AllowBlockOnTop() override
+ virtual bool DoesAllowBlockOnTop() override
{
return false;
}
@@ -41,7 +47,7 @@ public:
// Bed specific helper functions
- static NIBBLETYPE RotationToMetaData( float a_Rotation )
+ static NIBBLETYPE RotationToMetaData(float a_Rotation)
{
a_Rotation += 180 + (180/4); // So its not aligned with axis
if( a_Rotation > 360.f ) a_Rotation -= 360.f;
@@ -51,19 +57,24 @@ public:
return ((char)a_Rotation+2) % 4;
}
- static Vector3i MetaDataToDirection( NIBBLETYPE a_MetaData )
+
+ static Vector3i MetaDataToDirection(NIBBLETYPE a_MetaData)
{
- switch( a_MetaData )
+ switch (a_MetaData)
{
- case 0: // south +z
- return Vector3i(0, 0, 1);
- case 1: // west -x
- return Vector3i(-1, 0, 0);
- case 2: // north -z
- return Vector3i(0, 0, -1);
- case 3: // east +x
- return Vector3i(1, 0, 0);
+ case 0: // south +z
+ return Vector3i(0, 0, 1);
+ case 1: // west -x
+ return Vector3i(-1, 0, 0);
+ case 2: // north -z
+ return Vector3i(0, 0, -1);
+ case 3: // east +x
+ return Vector3i(1, 0, 0);
};
return Vector3i();
}
-};
+} ;
+
+
+
+