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
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue