summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
authorred-001 <red-001@outlook.ie>2017-01-29 18:28:38 +0000
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-03-13 23:56:05 +0100
commit0727bb3ddd9c550ff962af4546bac8cc058bce73 (patch)
treeca5a815f5f30883fe8a9b016db5b706486596714 /src/game.cpp
parent37df9cb7d764891f29b433e80a0d5663fee1a94f (diff)
downloadminetest-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.cpp11
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