diff options
author | Mattes D <github@xoft.cz> | 2014-02-02 16:25:30 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-02-02 16:25:30 +0100 |
commit | 3cfd9ce269f695e27c9f62cbd95b7a3b60963581 (patch) | |
tree | ca1faaae5c7d0fbd756f4cee56f61500ba0a12ed /src/Items | |
parent | Fixed #620 (diff) | |
parent | Added missing files (diff) | |
download | cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar.gz cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar.bz2 cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar.lz cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar.xz cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.tar.zst cuberite-3cfd9ce269f695e27c9f62cbd95b7a3b60963581.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 +}; |