1
0
Fork 0
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:
SmallJoker 2018-12-04 20:37:48 +01:00 committed by GitHub
parent ae8d14b009
commit 3d66622772
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 202 additions and 70 deletions

View file

@ -63,8 +63,7 @@ enum MapEditEventType{
MEET_REMOVENODE,
// Node swapped (changed without metadata change)
MEET_SWAPNODE,
// Node metadata of block changed (not knowing which node exactly)
// p stores block coordinate
// Node metadata changed
MEET_BLOCK_NODE_METADATA_CHANGED,
// Anything else (modified_blocks are set unsent)
MEET_OTHER
@ -76,6 +75,7 @@ struct MapEditEvent
v3s16 p;
MapNode n = CONTENT_AIR;
std::set<v3s16> modified_blocks;
bool is_private_change = false;
MapEditEvent() = default;
@ -86,6 +86,7 @@ struct MapEditEvent
event->p = p;
event->n = n;
event->modified_blocks = modified_blocks;
event->is_private_change = is_private_change;
return event;
}