diff options
author | red-001 <red-001@outlook.ie> | 2017-01-29 18:28:38 +0000 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-03-13 23:56:05 +0100 |
commit | 0727bb3ddd9c550ff962af4546bac8cc058bce73 (patch) | |
tree | ca5a815f5f30883fe8a9b016db5b706486596714 /src/game.cpp | |
parent | 37df9cb7d764891f29b433e80a0d5663fee1a94f (diff) | |
download | minetest-0727bb3ddd9c550ff962af4546bac8cc058bce73.tar.gz minetest-0727bb3ddd9c550ff962af4546bac8cc058bce73.tar.bz2 minetest-0727bb3ddd9c550ff962af4546bac8cc058bce73.zip |
[CSM] Add `on_punchnode` callback
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/game.cpp b/src/game.cpp index 66c8859c8..612bd2536 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3895,17 +3895,20 @@ void Game::handleDigging(GameRunData *runData, const PointedThing &pointed, const v3s16 &nodepos, const ToolCapabilities &playeritem_toolcap, f32 dtime) { + + LocalPlayer *player = client->getEnv().getLocalPlayer(); + ClientMap &map = client->getEnv().getClientMap(); + MapNode n = client->getEnv().getClientMap().getNodeNoEx(nodepos); + if (!runData->digging) { infostream << "Started digging" << std::endl; + if (client->getScript()->on_punchnode(nodepos, n)) + return; client->interact(0, pointed); runData->digging = true; runData->ldown_for_dig = true; } - LocalPlayer *player = client->getEnv().getLocalPlayer(); - ClientMap &map = client->getEnv().getClientMap(); - MapNode n = client->getEnv().getClientMap().getNodeNoEx(nodepos); - // NOTE: Similar piece of code exists on the server side for // cheat detection. // Get digging parameters |