1
0
Fork 0
cuberite-2a/src/Blocks/BlockPluginInterface.h

41 lines
1.1 KiB
C
Raw Normal View History

2014-02-02 14:59:36 +00:00
// BlockPluginInterface.h
// Declares the cBlockPluginInterface class representing an interface that the blockhandlers and itemhandlers use for calling plugins
2014-02-02 14:59:36 +00:00
#pragma once
// fwd:
class cPlayer;
/** This interface is used to decouple block handlers from the cPluginManager dependency through cWorld.
2014-03-30 18:02:30 +00:00
The block handlers call this interface, which is then implemented by the specific classes that
the caller provides.
*/
2014-02-02 14:59:36 +00:00
class cBlockPluginInterface
{
public:
2014-03-30 18:02:30 +00:00
virtual ~cBlockPluginInterface() {}
2016-02-05 21:45:45 +00:00
virtual bool CallHookBlockSpread(int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) = 0;
2014-02-02 14:59:36 +00:00
virtual bool CallHookBlockToPickups(cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, cItems & a_Pickups) = 0;
virtual bool CallHookPlayerBreakingBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0;
virtual bool CallHookPlayerBrokenBlock(cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0;
2014-02-02 14:59:36 +00:00
};