summaryrefslogtreecommitdiffstats
path: root/source/Blocks/BlockHandler.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-01-27 03:00:33 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-01-27 03:00:33 +0100
commit1a127f5510f654d47ee75b3121e52c50d3e7533b (patch)
treea968d54114b660c637bb6a9ce4102cb8257e0903 /source/Blocks/BlockHandler.cpp
parentRemoved cMCLogger from Lua API (diff)
downloadcuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar.gz
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar.bz2
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar.lz
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar.xz
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.tar.zst
cuberite-1a127f5510f654d47ee75b3121e52c50d3e7533b.zip
Diffstat (limited to '')
-rw-r--r--source/Blocks/BlockHandler.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/Blocks/BlockHandler.cpp b/source/Blocks/BlockHandler.cpp
index 715db910e..5c535e052 100644
--- a/source/Blocks/BlockHandler.cpp
+++ b/source/Blocks/BlockHandler.cpp
@@ -3,6 +3,8 @@
#include "BlockHandler.h"
#include "../Item.h"
#include "../World.h"
+#include "../Root.h"
+#include "../PluginManager.h"
#include "BlockSand.h"
#include "BlockGravel.h"
#include "BlockDoor.h"
@@ -321,11 +323,15 @@ void cBlockHandler::ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta)
-void cBlockHandler::DropBlock(cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ)
+void cBlockHandler::DropBlock(cWorld * a_World, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ)
{
cItems Pickups;
NIBBLETYPE Meta = a_World->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ);
ConvertToPickups(Pickups, Meta);
+
+ // Allow plugins to modify the pickups:
+ cRoot::Get()->GetPluginManager()->CallHookBlockToPickups(a_World, a_Digger, a_BlockX, a_BlockY, a_BlockZ, m_BlockType, Meta, Pickups);
+
if (!Pickups.empty())
{
a_World->SpawnItemPickups(Pickups, a_BlockX, a_BlockY, a_BlockZ);
@@ -423,7 +429,7 @@ void cBlockHandler::Check(cWorld * a_World, int a_BlockX, int a_BlockY, int a_Bl
{
if (DoesDropOnUnsuitable())
{
- DropBlock(a_World, a_BlockX, a_BlockY, a_BlockZ);
+ DropBlock(a_World, NULL, a_BlockX, a_BlockY, a_BlockZ);
}
a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);