diff options
Diffstat (limited to 'source/Blocks/BlockBed.h')
-rw-r--r-- | source/Blocks/BlockBed.h | 59 |
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();
}
-};
+} ;
+
+
+
+
|