From 3d66622772e66154b7624957a27f9be54c4c7c28 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Tue, 4 Dec 2018 20:37:48 +0100 Subject: Send only changed node metadata to clients instead of whole mapblock (#5268) Includes newer style changes and fixes by est31 Improve the block position de-serialization Add type NodeMetadataMap --- src/rollback_interface.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/rollback_interface.cpp') diff --git a/src/rollback_interface.cpp b/src/rollback_interface.cpp index fef5389c1..3ac15544c 100644 --- a/src/rollback_interface.cpp +++ b/src/rollback_interface.cpp @@ -168,17 +168,10 @@ bool RollbackAction::applyRevert(Map *map, InventoryManager *imgr, IGameDef *gam meta->deSerialize(is, 1); // FIXME: version bump?? } // Inform other things that the meta data has changed - v3s16 blockpos = getContainerPos(p, MAP_BLOCKSIZE); MapEditEvent event; event.type = MEET_BLOCK_NODE_METADATA_CHANGED; - event.p = blockpos; + event.p = p; map->dispatchEvent(&event); - // Set the block to be saved - MapBlock *block = map->getBlockNoCreateNoEx(blockpos); - if (block) { - block->raiseModified(MOD_STATE_WRITE_NEEDED, - MOD_REASON_REPORT_META_CHANGE); - } } catch (InvalidPositionException &e) { infostream << "RollbackAction::applyRevert(): " << "InvalidPositionException: " << e.what() -- cgit v1.2.3