diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-02 23:09:03 +0100 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-02 23:09:03 +0100 |
commit | 2d0b31e7b671447ca49988d14c13b6eb6bad4cf2 (patch) | |
tree | a0b28406e9c9f561fed241a47f3a51ef4db791a1 /src/Items | |
parent | Fixed #624 (diff) | |
parent | Merge pull request #622 from worktycho/registerfix (diff) | |
download | cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar.gz cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar.bz2 cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar.lz cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar.xz cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.tar.zst cuberite-2d0b31e7b671447ca49988d14c13b6eb6bad4cf2.zip |
Diffstat (limited to 'src/Items')
-rw-r--r-- | src/Items/ItemBucket.h | 5 | ||||
-rw-r--r-- | src/Items/ItemDoor.h | 6 | ||||
-rw-r--r-- | src/Items/ItemHandler.cpp | 8 | ||||
-rw-r--r-- | src/Items/ItemShovel.h | 7 |
4 files changed, 19 insertions, 7 deletions
diff --git a/src/Items/ItemBucket.h b/src/Items/ItemBucket.h index c9a632580..f18a4d959 100644 --- a/src/Items/ItemBucket.h +++ b/src/Items/ItemBucket.h @@ -6,6 +6,7 @@ #include "../Simulator/FluidSimulator.h" #include "../Blocks/BlockHandler.h" #include "../LineBlockTracer.h" +#include "../BlockInServerPluginInterface.h" @@ -142,7 +143,9 @@ public: cBlockHandler * Handler = BlockHandler(CurrentBlock); if (Handler->DoesDropOnUnsuitable()) { - Handler->DropBlock(a_World, a_Player, a_BlockX, a_BlockY, a_BlockZ); + cChunkInterface ChunkInterface(a_World->GetChunkMap()); + cBlockInServerPluginInterface PluginInterface(*a_World); + Handler->DropBlock(ChunkInterface, *a_World, PluginInterface, a_Player, a_BlockX, a_BlockY, a_BlockZ); } } diff --git a/src/Items/ItemDoor.h b/src/Items/ItemDoor.h index 72ea0beed..531a0c6e4 100644 --- a/src/Items/ItemDoor.h +++ b/src/Items/ItemDoor.h @@ -31,12 +31,14 @@ public: ) override { a_BlockType = (m_ItemType == E_ITEM_WOODEN_DOOR) ? E_BLOCK_WOODEN_DOOR : E_BLOCK_IRON_DOOR; - return BlockHandler(a_BlockType)->GetPlacementBlockTypeMeta( - a_World, a_Player, + cChunkInterface ChunkInterface(a_World->GetChunkMap()); + bool Meta = BlockHandler(a_BlockType)->GetPlacementBlockTypeMeta( + ChunkInterface, a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, a_BlockType, a_BlockMeta ); + return Meta; } } ; diff --git a/src/Items/ItemHandler.cpp b/src/Items/ItemHandler.cpp index 250e21dc4..302796d1b 100644 --- a/src/Items/ItemHandler.cpp +++ b/src/Items/ItemHandler.cpp @@ -5,6 +5,7 @@ #include "../World.h" #include "../Entities/Player.h" #include "../FastRandom.h" +#include "../BlockInServerPluginInterface.h" // Handlers: #include "ItemBed.h" @@ -257,7 +258,9 @@ void cItemHandler::OnBlockDestroyed(cWorld * a_World, cPlayer * a_Player, const { if (!BlockRequiresSpecialTool(Block) || CanHarvestBlock(Block)) { - Handler->DropBlock(a_World, a_Player, a_BlockX, a_BlockY, a_BlockZ); + cChunkInterface ChunkInterface(a_World->GetChunkMap()); + cBlockInServerPluginInterface PluginInterface(*a_World); + Handler->DropBlock(ChunkInterface, *a_World, PluginInterface, a_Player, a_BlockX, a_BlockY, a_BlockZ); } } @@ -465,8 +468,9 @@ bool cItemHandler::GetPlacementBlockTypeMeta( } cBlockHandler * BlockH = BlockHandler(m_ItemType); + cChunkInterface ChunkInterface(a_World->GetChunkMap()); return BlockH->GetPlacementBlockTypeMeta( - a_World, a_Player, + ChunkInterface, a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, a_BlockType, a_BlockMeta diff --git a/src/Items/ItemShovel.h b/src/Items/ItemShovel.h index d0625ef1c..4921b257a 100644 --- a/src/Items/ItemShovel.h +++ b/src/Items/ItemShovel.h @@ -6,6 +6,7 @@ #include "../Entities/Player.h" #include "../Blocks/BlockHandler.h" +#include "../BlockInServerPluginInterface.h" @@ -25,7 +26,9 @@ public: BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ); if (Block == E_BLOCK_SNOW) { - BlockHandler(Block)->DropBlock(a_World, a_Player, a_BlockX, a_BlockY, a_BlockZ); + cChunkInterface ChunkInterface(a_World->GetChunkMap()); + cBlockInServerPluginInterface PluginInterface(*a_World); + BlockHandler(Block)->DropBlock(ChunkInterface,*a_World, PluginInterface, a_Player, a_BlockX, a_BlockY, a_BlockZ); a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0); a_Player->UseEquippedItem(); @@ -38,4 +41,4 @@ public: { return (a_BlockType == E_BLOCK_SNOW); } -};
\ No newline at end of file +}; |