Fix regen on modern versions #2881
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Fixes #2818
Fixes #2861
Description
We can greatly simplify the regeneration logic by relying on the server's chunk system instead of trying to run the generation ourselves. This works well on Paper, and probably good enough on Spigot. Conceptually, the change is similar to how a
//lazycopywould work, just with the temporary world as a source. I think this is far better in terms of maintainability.Tested on Paper 1.21(.1), only, but the code should work on older versions too and as there isn't much low-level implementation details, I also expect Spigot to work.