-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Anvil world persistence #52
Labels
Milestone
Comments
caelunshun
added
enhancement
New feature or request
minecraft-feature
difficulty: some
labels
Aug 14, 2019
This was referenced Sep 30, 2019
Merged
caelunshun
added a commit
that referenced
this issue
Oct 5, 2019
Resolves #52. Features implemented: * Sector allocator for region files * RegionFile::save_chunk() * Chunk saving support for chunk worker * Periodic saving of loaded chunks (only those modified), at configurable intervals * Saving of chunks on unload and shutdown * Creation of new region files * Saving of entities * Saving of player data on disconnect and shutdown * Saving of level data This is a squashing of 23 commits: * Implement sector allocator * Implement conversion of chunk data compound to `nbt::Blob` * Initial implementation of RegionHandle::save_chunk (untested) * Initial chunk worker support for chunk saving * Save chunks upon unload * Implement periodic saving of chunks, with interval defined in config * Implement saving of chunks on shutdown * Implement creation of new region files * Save level.dat on shutdown * Begin work on entity saving * Fix saving of item entities * Add more data to chunk save so that the vanilla server accepts it * Fix panic when chunk containing players was saved * Attempt to fix Windows overflow error * Implement saving of player data on disconnect and shutdown * Fix ordering of pitch and yaw * Fix panic on double chunk unload * Fix panic when entities without position are saved * Use more idiomatic early return syntax * Implement conversion from global to section palette for chunk saving
cheako
pushed a commit
to cheako/feather
that referenced
this issue
Jan 4, 2020
Resolves feather-rs#52. Features implemented: * Sector allocator for region files * RegionFile::save_chunk() * Chunk saving support for chunk worker * Periodic saving of loaded chunks (only those modified), at configurable intervals * Saving of chunks on unload and shutdown * Creation of new region files * Saving of entities * Saving of player data on disconnect and shutdown * Saving of level data This is a squashing of 23 commits: * Implement sector allocator * Implement conversion of chunk data compound to `nbt::Blob` * Initial implementation of RegionHandle::save_chunk (untested) * Initial chunk worker support for chunk saving * Save chunks upon unload * Implement periodic saving of chunks, with interval defined in config * Implement saving of chunks on shutdown * Implement creation of new region files * Save level.dat on shutdown * Begin work on entity saving * Fix saving of item entities * Add more data to chunk save so that the vanilla server accepts it * Fix panic when chunk containing players was saved * Attempt to fix Windows overflow error * Implement saving of player data on disconnect and shutdown * Fix ordering of pitch and yaw * Fix panic on double chunk unload * Fix panic when entities without position are saved * Use more idiomatic early return syntax * Implement conversion from global to section palette for chunk saving
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, worlds can be loaded, but they are not saved.
Resolving this issue will require periodic saving of chunk data, entities, level data, and player data to world saves.
Notes:
hematite-nbt
does not support serializing NBT long arrays, which is required for writing chunk data (see Papercut: nbt-serde always writes List tags as opposed to ByteArray/IntArray tags PistonDevelopers/hematite_nbt#27). A PR will have to be submitted to them to fix this.The text was updated successfully, but these errors were encountered: