1
0
cuberite-2a/source/Blocks/BlockRedstoneRepeater.h
Tiger Wang 480991d1ac Multiple fixes [SEE DESC]
- Removed two random block handling files in the item handling section
that didn't do anything. (One was an attempt at making slabs work, but
failed to realise that the coords would have to be the block CLICKED,
and another was just a random empty file for handling wooden planks.)
* Fixed placing repeater blocks not directioning properly
* Fixed wood directions breaking plank metadata
2013-09-18 00:01:20 +01:00

58 lines
1.3 KiB
C++

#pragma once
#include "BlockHandler.h"
#include "../World.h"
class cBlockRedstoneRepeaterHandler :
public cBlockHandler
{
public:
cBlockRedstoneRepeaterHandler(BLOCKTYPE a_BlockType);
virtual void OnDestroyed(cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ) override;
virtual void OnDigging(cWorld * a_World, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) override;
virtual void OnUse(cWorld * a_World, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override;
virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
{
// Reset meta to 0
a_Pickups.push_back(cItem(E_ITEM_REDSTONE_REPEATER, 1, 0));
}
virtual bool IsUseable(void) override
{
return true;
}
virtual bool CanBeAt(int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk) override
{
return ((a_RelY > 0) && (a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ) != E_BLOCK_AIR));
}
virtual bool GetPlacementBlockTypeMeta(
cWorld * a_World, cPlayer * a_Player,
int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
int a_CursorX, int a_CursorY, int a_CursorZ,
BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
) override;
virtual const char * GetStepSound(void) override
{
return "step.wood";
}
} ;