Mark Bukkit plugin descriptor as Folia-supported#1
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds the folia-supported: true flag to the Bukkit plugin descriptor (plugin.yml) to indicate that FastAsyncWorldEdit (FAWE) is compatible with Folia, Paper's region-based multi-threaded server software.
Changes:
- Added
folia-supported: truefield toplugin.ymlto mark the plugin as Folia-compatible
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| version: "${internalVersion}" | ||
| load: STARTUP | ||
| api-version: 1.20 | ||
| folia-supported: true |
There was a problem hiding this comment.
Adding folia-supported: true indicates that the plugin is compatible with Folia's region-based threading model, but the codebase still uses legacy Bukkit scheduler APIs that are incompatible with Folia.
Folia requires using region-based schedulers (e.g., RegionScheduler, EntityScheduler, AsyncScheduler) instead of the global Bukkit.getScheduler() API. The current implementation in files like BukkitTaskManager.java uses methods such as scheduleSyncRepeatingTask, runTask, and runTaskAsynchronously which won't work correctly on Folia servers.
Additionally, code in BukkitBlockCommandSender.java uses Bukkit.getScheduler().callSyncMethod() which is also incompatible with Folia's threading model.
Before marking the plugin as Folia-supported, the scheduler usage needs to be adapted to work with Folia's region-based threading, or the plugin needs verified testing on Folia to ensure it actually works despite using legacy APIs (Paper's compatibility layer may handle some cases, but this needs verification).
| folia-supported: true | |
| folia-supported: false |
Motivation
folia-supported: trueto the Bukkitplugin.ymlso Folia/Paper recognizes the plugin as explicitly supported and does not reject it at runtime.Description
folia-supported: truetoworldedit-bukkit/src/main/resources/plugin.ymlto mark the Bukkit plugin as Folia-supported.Testing
./gradlew :worldedit-bukkit:processResources --no-daemonand the task completed successfully.Codex Task