From 106d4b7d05cfbba901abd540113991042d77bc97 Mon Sep 17 00:00:00 2001 From: ASL97 Date: Mon, 7 Dec 2015 17:39:48 +0800 Subject: [PATCH] Cache disable_anticheat and check it for "interacted_too_far" --- src/network/serverpackethandler.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index a5aaf1ecb..7e348a94d 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1358,7 +1358,9 @@ void Server::handleCommand_Interact(NetworkPacket* pkt) Check that target is reasonably close (only when digging or placing things) */ - if (action == 0 || action == 2 || action == 3) { + static const bool enable_anticheat = !g_settings->getBool("disable_anticheat"); + if ((action == 0 || action == 2 || action == 3) && + (enable_anticheat && !isSingleplayer())) { float d = player_pos.getDistanceFrom(pointed_pos_under); float max_d = BS * 14; // Just some large enough value if (d > max_d) { @@ -1495,7 +1497,7 @@ void Server::handleCommand_Interact(NetworkPacket* pkt) /* Cheat prevention */ bool is_valid_dig = true; - if (!isSingleplayer() && !g_settings->getBool("disable_anticheat")) { + if (enable_anticheat && !isSingleplayer()) { v3s16 nocheat_p = playersao->getNoCheatDigPos(); float nocheat_t = playersao->getNoCheatDigTime(); playersao->noCheatDigEnd();