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/BlockTorch.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/BlockTorch.h')
-rw-r--r-- | source/Blocks/BlockTorch.h | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/source/Blocks/BlockTorch.h b/source/Blocks/BlockTorch.h index 450b5ecab..e65a973d2 100644 --- a/source/Blocks/BlockTorch.h +++ b/source/Blocks/BlockTorch.h @@ -1,5 +1,6 @@ #pragma once
+
#include "BlockHandler.h"
#include "../Torch.h"
#include "../World.h"
@@ -8,7 +9,8 @@ -class cBlockTorchHandler : public cBlockHandler
+class cBlockTorchHandler :
+ public cBlockHandler
{
public:
cBlockTorchHandler(BLOCKTYPE a_BlockID)
@@ -19,12 +21,14 @@ 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
{
- if(!TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, a_Dir))
+ if (!TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, a_Dir))
{
a_Dir = FindSuitableDirection(a_World, a_X, a_Y, a_Z);
- if(a_Dir == BLOCK_FACE_BOTTOM)
+ if (a_Dir == BLOCK_FACE_BOTTOM)
+ {
return;
+ }
}
a_World->SetBlock(a_X, a_Y, a_Z, m_BlockID, cTorch::DirectionToMetaData(a_Dir));
@@ -32,7 +36,7 @@ public: }
- virtual bool AllowBlockOnTop(void) override
+ virtual bool DoesAllowBlockOnTop(void) override
{
return false;
}
@@ -116,25 +120,31 @@ public: // How to propagate that change up?
// Simon: The easiest way is to calculate the position two times, shouldn´t cost much cpu power :)
- if(a_Dir == BLOCK_FACE_BOTTOM)
+ if (a_Dir == BLOCK_FACE_BOTTOM)
+ {
return false;
+ }
AddDirection( a_X, a_Y, a_Z, a_Dir, true );
return CanBePlacedOn(a_World->GetBlock( a_X, a_Y, a_Z ), a_Dir);
}
- // Finds a suitable Direction for the Torch. Returns BLOCK_FACE_BOTTOM on failure
+
+ /// Finds a suitable Direction for the Torch. Returns BLOCK_FACE_BOTTOM on failure
static char FindSuitableDirection(cWorld * a_World, int a_X, int a_Y, int a_Z)
{
- for(int i = 1; i <= 5; i++)
+ for (int i = 1; i <= 5; i++)
{
- if(TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, i))
+ if (TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, i))
+ {
return i;
+ }
}
return BLOCK_FACE_BOTTOM;
}
+
virtual bool CanBePlacedAt(cWorld * a_World, int a_X, int a_Y, int a_Z, char a_Dir) override
{
if(TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, a_Dir))
@@ -150,16 +160,19 @@ public: return TorchCanBePlacedAt(a_World, a_X, a_Y, a_Z, Dir);
}
- virtual NIBBLETYPE GetDropMeta(NIBBLETYPE a_BlockMeta) override
+
+ virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
{
- return 0;
+ // Always drop meta = 0
+ a_Pickups.push_back(cItem(m_BlockID, 1, 0));
}
- virtual AString GetStepSound(void) override
+
+ virtual const char * GetStepSound(void) override
{
return "step.wood";
}
-};
+} ;
|