From 94f1e5d9bdd30725a7a63b668450dc0646a873cd Mon Sep 17 00:00:00 2001 From: est31 Date: Thu, 17 Sep 2015 20:08:11 +0200 Subject: [PATCH] Send proper block to old clients for swap_node calls The legacy code added in commit d879a539cd19ddd1ee34afec2512fb2238de2822 - "Add minetest.swap_node" for sending the whole mapblock to older clients on the case of a node modification with swap_node, had the problem that the block chosen to be sent to the client was referenced with node coordinates and not with block coordinates, resulting in getting the wrong block sent to the client. --- src/server.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.cpp b/src/server.cpp index 646e8465b..9a5739892 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2102,7 +2102,7 @@ void Server::sendAddNode(v3s16 p, MapNode n, u16 ignore_id, if (client->net_proto_version <= 21) { // Old clients always clear metadata; fix it // by sending the full block again. - client->SetBlockNotSent(p); + client->SetBlockNotSent(getNodeBlockPos(p)); } } }