diff options
author | lapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-07-15 22:36:34 +0200 |
---|---|---|
committer | lapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-07-15 22:36:34 +0200 |
commit | 14dce238450b419a5df2aa171ee91981910463b0 (patch) | |
tree | aca42ecae2e62c44847db375a2f7ae6823ed3e9e /source/cFluidSimulator.cpp | |
parent | cThread uses AString instead of char * for name (fixed a warning) (diff) | |
download | cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar.gz cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar.bz2 cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar.lz cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar.xz cuberite-14dce238450b419a5df2aa171ee91981910463b0.tar.zst cuberite-14dce238450b419a5df2aa171ee91981910463b0.zip |
Diffstat (limited to 'source/cFluidSimulator.cpp')
-rw-r--r-- | source/cFluidSimulator.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source/cFluidSimulator.cpp b/source/cFluidSimulator.cpp index 1301caa8c..937a40c68 100644 --- a/source/cFluidSimulator.cpp +++ b/source/cFluidSimulator.cpp @@ -9,7 +9,7 @@ #include "BlockID.h" #include "Defines.h" #include "cItem.h" -#include "cBlockToPickup.h" +#include "blocks/Block.h" @@ -356,9 +356,11 @@ void cFluidSimulator::Simulate( float a_Dt ) { if( bWashedAwayItem ) { - cItems Drops; - cBlockToPickup::ToPickup(DownID, m_World->GetBlockMeta(pos.x, pos.y - 1, pos.z), E_ITEM_EMPTY, Drops); - m_World->SpawnItemPickups(Drops, pos.x, pos.y - 1, pos.z); + cBlockHandler * Handler = BlockHandler(DownID); + if(Handler->DropOnUnsuitable()) + { + Handler->DropBlock(m_World, pos.x, pos.y - 1, pos.z); + } } if (pos.y > 0) { @@ -390,9 +392,11 @@ void cFluidSimulator::Simulate( float a_Dt ) { if (bWashedAwayItem) { - cItems Drops; - cBlockToPickup::ToPickup(DownID, m_World->GetBlockMeta(p.x, p.y, p.z), E_ITEM_EMPTY, Drops); - m_World->SpawnItemPickups(Drops, p.x, p.y, p.z); + cBlockHandler * Handler = BlockHandler(DownID); + if(Handler->DropOnUnsuitable()) + { + Handler->DropBlock(m_World, p.x, p.y, p.z); + } } if( p.y == pos.y ) |