Skip to content

Added Folia Compatible Player Scheduling#29

Open
thowan-codes wants to merge 2 commits into
funniray:mainfrom
thowan-codes:folia-compatibility
Open

Added Folia Compatible Player Scheduling#29
thowan-codes wants to merge 2 commits into
funniray:mainfrom
thowan-codes:folia-compatibility

Conversation

@thowan-codes

Copy link
Copy Markdown

Summary

  • Add a runtime-selected scheduler adapter for the Spigot plugin:
    • Bukkit/Spigot continues to use the Bukkit scheduler.
    • Folia and Canvas use each player's entity scheduler so player-specific work follows region ownership.
  • Route delayed join handling and plugin-message sending through that adapter.
  • Mark the generated Spigot plugin descriptor as Folia-compatible.
  • Upgrade the plugin.yml generator and Gradle wrapper required to expose the Folia support flag.

## Summary

- Add a runtime-selected scheduler adapter for the Spigot plugin.
  - Standard Bukkit/Spigot servers retain the existing Bukkit scheduler behavior.
  - Folia and Canvas use each player's entity scheduler, allowing scheduled
    player work to follow the player between regions.
- Route the delayed join handler and plugin-message send through the adapter.
- Generate `folia-supported: true` in `plugin.yml`.
- Add Thowan to the generated plugin authors list.
- Upgrade the Gradle wrapper and plugin.yml generator.

## Build version rationale

`net.minecrell.plugin-yml` was updated from 0.5.2 to 0.6.0 because 0.5.2
does not expose the `foliaSupported` DSL property required to generate
Folia's `plugin.yml` support flag.

The Gradle wrapper was updated from 7.4.2 to 7.6.4 because plugin-yml 0.6.0
uses Jackson 2.15.2. Gradle 7.4.2 cannot process that dependency's
multi-release Java 19 classes (`Unsupported class file major version 63`);
Gradle 7.6.4 supports them.

This does not change the Java compatibility targets: `common` remains Java 8
and `spigot` remains Java 11.

Updated spigot and sponge build.gradle.kts to match the latest release version+differentiate the spigot version
@thowan-codes

thowan-codes commented Jul 24, 2026

Copy link
Copy Markdown
Author

This is my first pull request to a repo that isn't my own, so I'd appreciate constructive feedback.
I did try to work off of the other folia pull request I see though, to try and make this as least version effecting as possible.

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