Skip to content
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

Closed
caelunshun opened this issue Aug 14, 2019 · 0 comments · Fixed by #145
Closed

Anvil world persistence #52

caelunshun opened this issue Aug 14, 2019 · 0 comments · Fixed by #145
Labels
difficulty: some enhancement New feature or request
Milestone

Comments

@caelunshun
Copy link
Member

caelunshun commented Aug 14, 2019

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:

@caelunshun caelunshun added this to the 0.5 milestone Aug 14, 2019
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
Labels
difficulty: some enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant