diff options
author | Max Luchterhand <52720531+maxluchterhand1@users.noreply.github.com> | 2020-03-18 17:59:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-18 17:59:28 +0100 |
commit | 57da82524bc0b216f232c377e5451bcd187e2ec6 (patch) | |
tree | 827af4a948174935fe17e343f174a82ff3e76767 | |
parent | Silk touch pickaxe drops grass block (#4485) (diff) | |
download | cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar.gz cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar.bz2 cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar.lz cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar.xz cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.tar.zst cuberite-57da82524bc0b216f232c377e5451bcd187e2ec6.zip |
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | src/Chunk.cpp | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index f49727f3e..220134226 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ cloc.xsl *.sqlite /EveryNight.cmd /UploadLuaAPI.cmd +GPUCache AllFiles.lst # IDE Stuff @@ -104,6 +105,7 @@ ReleaseProfile/ *.dir/ CPackConfig.cmake CPackSourceConfig.cmake +cmake-build-debug # APIDump-generated status files: Server/cuberite_api.lua diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 75773c8b9..52464f4da 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -974,7 +974,13 @@ cItems cChunk::PickupsFromBlock(Vector3i a_RelPos, const cEntity * a_Digger, con GetBlockTypeMeta(a_RelPos, blockType, blockMeta); auto blockHandler = cBlockInfo::GetHandler(blockType); auto blockEntity = GetBlockEntityRel(a_RelPos); - auto pickups = blockHandler->ConvertToPickups(blockMeta, blockEntity, a_Digger, a_Tool); + cItems pickups (0); + auto toolHandler = a_Tool ? a_Tool->GetHandler() : cItemHandler::GetItemHandler(E_ITEM_EMPTY); + auto canHarvestBlock = toolHandler->CanHarvestBlock(blockType); + if (canHarvestBlock) + { + pickups = blockHandler->ConvertToPickups(blockMeta, blockEntity, a_Digger, a_Tool); + } auto absPos = RelativeToAbsolute(a_RelPos); cRoot::Get()->GetPluginManager()->CallHookBlockToPickups(*m_World, absPos, blockType, blockMeta, blockEntity, a_Digger, a_Tool, pickups); return pickups; |