Skip to content

Fix Folia scheduling, improve 26.3 compatibility, and add empty world commands - #17

Open
int80x0 wants to merge 3 commits into
Mathildeuh:masterfrom
int80x0:master
Open

int80x0 wants to merge 3 commits into
Mathildeuh:masterfrom
int80x0:master

Conversation

@int80x0

@int80x0 int80x0 commented Oct 14, 2026

Copy link
Copy Markdown

Description

Fix incorrect scheduler usage that could cause GUI and world operations to fail on region-threaded servers. Player-bound callbacks now use entity schedulers, while world creation uses the global scheduler. Delete and restore wait for successful evacuation and confirmed unloading before modifying world files.

Add /wm create <name> empty [seed] using the same generator as the GUI. Replace the removed enchantment constant for 26.3 compatibility while retaining the existing API floor. Bump the plugin version to 4.1.0.

Validation

  • Compilation and 12 tests passed against Paper APIs 1.20.1 and 26.3 with Java 21 and Java 25 respectively.
  • Default and alternative shaded builds passed.
  • Verified the 4.1.0 plugin descriptor and JAR packaging.
  • The previously failing operations that prompted these fixes now work on Folia 26.3. Not every feature has been tested, but the remaining functionality is expected to work.

Run player and GUI work on entity schedulers and world creation on the global scheduler. Wait for successful evacuation and unloading before deleting or restoring world files, with compatibility for asynchronous and legacy unload APIs.

Share empty world creation between the GUI and command, replace the removed enchantment constant, and add API compatibility checks and lifecycle tests.
Move game rule changes and world flag updates to the global scheduler, then refresh inventories on the player scheduler. Serialize rule read-modify-write operations, guard unloaded worlds, and report rejected updates and invalid integer input.

Allow empty worlds in the selected dimension with or without a seed, preserve the GUI dimension, and retain the existing empty overworld shorthand. Add regression tests for creation options and scheduled rule updates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant