⚡️Performance: Rework World Generation - #201
Merged
Merged
Conversation
…a in PlotWorldGenerator
- measure old generator performance - add new AbstractPlotLoader, DefaultPlotLoader and PlotHandler
…ion-rework # Conflicts: # src/main/java/com/alpsbte/plotsystem/core/system/plot/generator/DefaultPlotGenerator.java
…into update/world-generation-rework
…ot Worlds to handle world specific abandon logic
…a in PlotWorldGenerator
- measure old generator performance - add new AbstractPlotLoader, DefaultPlotLoader and PlotHandler
…ot Worlds to handle world specific abandon logic
…into update/world-generation-rework # Conflicts: # src/main/java/com/alpsbte/plotsystem/core/system/plot/generator/world/PlotWorldGenerator.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/world/OnePlotWorld.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/world/PlotWorld.java
move savePlotAsSchematic to PlotHandler. create methods for both assigning and generating in PlotHandler. remove all old PlotGenerator files and replace every usage with the new PlotLoaders
…into update/world-generation-rework
…ion-rework # Conflicts: # src/main/java/com/alpsbte/plotsystem/commands/plot/CMD_Plot_Abandon.java # src/main/java/com/alpsbte/plotsystem/core/menus/companion/CityProjectMenu.java # src/main/java/com/alpsbte/plotsystem/core/menus/review/ReviewPlotTogglesMenu.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/generator/DefaultPlotGenerator.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/utils/PlotUtils.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/world/CityPlotWorld.java # src/main/java/com/alpsbte/plotsystem/core/system/plot/world/OnePlotWorld.java
Persist plot state consistently, prevent duplicate generation, and move heavy WorldEdit work onto FAWE's async executor.
- Now we don't construct a Air Mask in several places anymore. - We just use ignore air This fixes a issue where we adapt a cim world before it is actually loaded, that resulted into a fawe exception, which resulted in the plot not beeing pasted.
We switched to only the per repo license.
Teleporting called loadWorld(), which regenerated missing plot worlds and blocked on FAWE tasks that themselves need the main thread, freezing the server until the watchdog fired. World regeneration now lives in prepareWorld(), which callers invoke asynchronously before teleporting, and blocking waits fail fast when they run on the main thread.
Zoriot
marked this pull request as ready for review
September 8, 2026 17:25
LordTuxn
self-requested a review
September 12, 2026 15:22
LordTuxn
reviewed
Sep 12, 2026
This reverts commit 339d69b We paste it on the original position anyway so it's fine to fallback to 0 there
Prevent failed rebuilds of existing one-plot worlds from abandoning their plots, while retaining rollback behavior for newly assigned plots. Resolve existing plot worlds from persisted type and legacy compatibility instead of the new-plot CIM configuration.
Reduce schematic-save complexity, replace raw exception wrappers with specific completion exceptions, and document the tutorial loader lifecycle hook. Migrate tutorial menus, holograms, and NPC text to Adventure components and NamedTextColor.
Zoriot
force-pushed
the
update/world-generation-rework
branch
from
September 12, 2026 21:14
4bb715b to
348ffd3
Compare
…sed Utils#getConfiguredItem
Zoriot
force-pushed
the
update/world-generation-rework
branch
from
September 12, 2026 21:24
78ceada to
c05c465
Compare
LordTuxn
approved these changes
Sep 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR reworks plot-world generation and loading to make it asynchronous and lifecycle-safe, while updating plot recovery, world-height handling, tutorial flows, and translation automation.
What changed
Behavior and compatibility notes
disable-city-inspiration-modesetting now affects new plot assignment only.