From 8831669505905dd9cd415711063f705d8e7ce02c Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 4 Aug 2013 00:45:49 +0300 Subject: Allow mods to listen to cheat detections using minetest.register_on_cheat() --- src/server.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index cdd42c2e9..7527f172c 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2251,7 +2251,11 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) player->control.LMB = (bool)(keyPressed&128); player->control.RMB = (bool)(keyPressed&256); - playersao->checkMovementCheat(); + bool cheated = playersao->checkMovementCheat(); + if(cheated){ + // Call callbacks + m_script->on_cheat(playersao, "moved_too_fast"); + } /*infostream<<"Server::ProcessData(): Moved player "<SetBlockNotSent(blockpos); + // Call callbacks + m_script->on_cheat(playersao, "interacted_too_far"); // Do nothing else return; } @@ -2939,6 +2945,8 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) <on_cheat(playersao, "finished_unknown_dig"); } // Get player's wielded item ItemStack playeritem; @@ -2964,6 +2972,8 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) <<", which is not diggable with tool. not digging." <on_cheat(playersao, "dug_unbreakable"); } // Check digging time // If already invalidated, we don't have to @@ -2987,6 +2997,8 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) <<" completed digging "<on_cheat(playersao, "dug_too_fast"); } } -- cgit v1.2.3