Free & open source · GPL-3.0
Turn your Paper plugins into Folia plugins.
Drop in a plugin .jar, get back a Folia-ready .jar. Scheduling, thread-safety and the folia-supported flag — rewritten automatically, no source code needed.
Latest release · all platforms
Desktop app for Windows, macOS & Linux · CLI & browser dashboard everywhere Node.js runs
$ npm run cli -- convert MyPlugin.jar
scan 143 classes · 41 scheduler blockers · 12 region-lock risks
rewrite 53 calls redirected to the thread-safety shim
data 4 shared maps made thread-safe (proven safe)
verify re-scan clean · folia-supported: true
✓ out/MyPlugin-folia.jar — 0 blockers remaining
Folia makes servers faster.
It also breaks plugins.
Folia is PaperMC's regionized fork of Paper: it splits the world into regions and ticks each one on its own thread. Big servers get much faster — but almost every existing plugin stops working.
The Bukkit scheduler doesn't exist on Folia, so any plugin that uses it crashes on startup. And touching an entity or block from the wrong thread crashes the server mid-game.
Fixing that by hand means rewriting all of a plugin's scheduling code — and you usually don't even have the source. Turnleaf does the rewrite automatically, directly on the compiled jar.
How it works
The converter never decompiles or recompiles your plugin — it edits the compiled bytecode directly. That's why the output always loads: there is no compile step that could fail.
- 01
Scan
Reads every class in the jar and finds every call that would break on Folia — checked against a catalog of 1,162 region-locked API methods extracted from Folia's own source code.
- 02
Rewrite
Each dangerous call is redirected to a small injected safety layer. On the right thread already? Runs directly, near-zero overhead. Wrong thread? Handed to the thread that owns that region.
- 03
Prove thread-safety
Folia runs plugin code on many threads at once. Turnleaf traces which data is shared across threads and swaps in thread-safe versions — only where the swap is provably safe.
- 04
Verify
The finished jar is scanned again, exactly like step one. The report shows how many problems remain — for the plugins on the compatibility list, that's zero.
More than a converter
Turnleaf covers the whole journey from “my plugins crash on Folia” to a server that boots clean.
Desktop app
A small window where you drag a .jar in, press Convert, and watch it work. Installers are built from public source by GitHub Actions — every release links to the exact build run.
CLI & dashboard
Everything the app does works from a terminal too: scan, convert, batch-convert whole folders, or open the same dashboard in your browser.
Migrate a whole server
Point it at an existing server and the plugins folder is handled as a set: Folia-ready plugins are left alone, the rest are converted in place with the same filenames, originals backed up.
Watch a live server
Tail a running server's logs and every new error is analyzed the moment it happens — attributed to the plugin that threw it and tagged with what kind of failure it is.
AI repair (optional)
For the rare patterns that can't be fixed mechanically: decompile just the affected classes, apply an AI fix behind a compile-and-verify gate, saved as a separate jar. Bring your own API key.
Boot test on real Folia
Drop a Folia server jar in the folia/ folder and Turnleaf boots a real server with your converted plugin, reads the log, and gives a clear PASS or FAIL.
Turnleaf v1.0.0
Turn Paper plugins into Folia plugins
1Choose your plugin
Drop a plugin .jar here
or click to browse
The Turnleaf desktop app — drag a jar in, press Convert.
Boot-verified on real Folia
Every plugin below was converted with Turnleaf and boot-verified on a real Folia 26.1.2 server — zero scheduler blockers, zero region-lock risks, clean startup.
| Plugin | Version tested | Result | Notes |
|---|---|---|---|
| AdvancedEnchantments | 9.23.8 | ✅ clean | 41 scheduler blockers fixed |
| AdvancedPets | 2.22.14 | ✅ clean | needs Vault installed (its Vault hook throws without it) |
| CustomDrops | revamped | ✅ clean | — |
| EssentialsX | 2.22.1-dev | ✅ clean | — |
| ItemsAdder | 4.0.17 | ✅ clean | requires ProtocolLib dev build (rejects stable) — convert that too |
| MythicEnchants | 5.13.0 | ✅ clean | requires MythicMobs |
| MythicMobs (Premium) | 5.13.0 | ✅ clean | — |
| Oraxen | 1.217.0 | ✅ clean | — |
| ProtocolLib | dev build | ✅ clean | converted as a dependency for ItemsAdder |
| Vault | 1.7.3 | ✅ clean | converted as a dependency for AdvancedPets |
| WolfyUtilities | 4.17-beta.1 | ❌ needs author update | uses legacy NMS (versioned CraftBukkit package + per-version NMS adapters) and would fail on plain modern Paper too — not a Folia or conversion issue. Ships no NMS adapter for modern Minecraft. |
| CustomCrafting | 4.17-beta.5 | ❌ blocked | hard-depends on WolfyUtilities (above) |
Questions & answers
What is Folia?
Folia is PaperMC's fork of the Paper Minecraft server that splits the world into independent regions and ticks each one on its own thread. That makes large servers dramatically faster — but it removes the Bukkit scheduler and crashes any plugin that touches entities or blocks from the wrong thread, which breaks almost every existing Paper plugin.
How does Turnleaf make a plugin Folia-compatible?
Turnleaf edits the compiled plugin jar directly — it never decompiles or recompiles your plugin. It scans every class for calls that would break on Folia (using a catalog of 1,162 region-locked API methods extracted from Folia's own source), redirects them through an injected thread-safety layer, rewrites Bukkit scheduler usage for Folia's regional schedulers, makes shared data structures thread-safe where it can prove the change is safe, and adds the folia-supported flag so Folia will load the plugin.
Do I need the plugin's source code?
No. Turnleaf works directly on the compiled .jar file, so it converts plugins you only have the jar for — including closed-source and premium plugins you own.
Will every plugin just work?
A converted plugin is guaranteed to load, because there is no compile step that could fail. Whether every gameplay feature behaves identically under Folia's multithreading is something to confirm on a test server — the conversion report tells you exactly where to look, and the compatibility list tracks plugins that have been boot-verified on a real Folia server.
Does Turnleaf change my plugin's gameplay logic?
No. The converter only redirects scheduling and threading calls. It does not optimize, reorder or reinterpret what the plugin does, and every converted jar is stamped with a record of exactly what was changed.
Is Turnleaf free?
Yes. Turnleaf is free and open source under the GPL-3.0 license. The optional AI repair features use your own API key (DeepSeek, OpenAI, Anthropic, Cerebras, or any OpenAI-compatible endpoint) — everything else runs entirely on your machine.
Can I share the converted jars?
Convert plugins for your own server. Redistributing converted jars of plugins you don't own is up to each plugin's license — for most premium plugins the answer is no.
Windows says it “protected your PC” when I run the installer. Is it safe?
The installer isn't code-signed, because signing certificates cost hundreds of dollars a year for a free tool. Click More info, then Run anyway. Every installer is built from the public source by GitHub Actions and each release links to the exact build run — and if you'd rather not run an unsigned exe, you can run Turnleaf from source or build the installer yourself.
Your plugins, Folia-ready.
Free, open source, and it never touches your gameplay logic. Convert your first plugin in under a minute.
Latest release · all platforms