diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-01 23:08:15 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-01 23:08:15 +0200 |
commit | 85164fab8e5298ce1c0582b2aebb7e6a283d4a0c (patch) | |
tree | 6fdaf7f724044a025ecc9f1a8cadf8ee61d9355d /source/Blocks/BlockBed.h | |
parent | Added some missing block enums (diff) | |
download | cuberite-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 '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();
}
-};
+} ;
+
+
+
+
|