diff options
Diffstat (limited to 'source/Blocks/BlockSapling.h')
-rw-r--r-- | source/Blocks/BlockSapling.h | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/source/Blocks/BlockSapling.h b/source/Blocks/BlockSapling.h index c9862349a..0c133568e 100644 --- a/source/Blocks/BlockSapling.h +++ b/source/Blocks/BlockSapling.h @@ -1,8 +1,15 @@ +
#pragma once
+
#include "BlockHandler.h"
#include "../World.h"
-class cBlockSaplingHandler : public cBlockHandler
+
+
+
+
+class cBlockSaplingHandler :
+ public cBlockHandler
{
public:
cBlockSaplingHandler(BLOCKTYPE a_BlockID)
@@ -10,27 +17,27 @@ public: {
}
- virtual bool NeedsRandomTicks() override
- {
- return true;
- }
- virtual NIBBLETYPE GetDropMeta(NIBBLETYPE a_BlockMeta) override
+ virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
{
- return a_BlockMeta & 3; //Only the first 2 bits contain the display information the others are for growing
+ // Only the first 2 bits contain the display information, the others are for growing
+ a_Pickups.push_back(cItem(E_ITEM_SAPLING, 1, a_BlockMeta & 3));
}
+
virtual bool CanBeAt(cWorld *a_World, int a_X, int a_Y, int a_Z) override
{
return IsBlockTypeOfDirt(a_World->GetBlock(a_X, a_Y - 1, a_Z));
}
- virtual bool AllowBlockOnTop() override
+
+ virtual bool DoesAllowBlockOnTop(void) override
{
return false;
}
+
- void OnUpdate(cWorld *a_World, int a_X, int a_Y, int a_Z) override
+ void OnUpdate(cWorld * a_World, int a_X, int a_Y, int a_Z) override
{
NIBBLETYPE Meta = a_World->GetBlockMeta(a_X, a_Y, a_Z);
@@ -44,13 +51,19 @@ public: }
}
+
virtual bool CanBePlacedOnSide() override
{
return false;
}
- virtual AString GetStepSound(void) override
+
+ virtual const char * GetStepSound(void) override
{
return "step.grass";
}
-};
+} ;
+
+
+
+
|