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.
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));
}
}
}