mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
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
This commit is contained in:
parent
ae8d14b009
commit
3d66622772
18 changed files with 202 additions and 70 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue