Folia Support
Folia Support
BusyMining runs natively on Folia. folia-supported: true is
declared in plugin.yml, and every task goes to the scheduler that owns the work:
- Player work (inventory changes, menus, messages, level-ups) runs on the player's own scheduler.
- Mob work (Rune Guardians, Oracles and their abilities, Thralls, Vessel bosses, minions) runs on that entity's scheduler, one task per mob.
- Block and spawn work (drops, summons) runs on the region scheduler for that location.
- Console commands from command selling run on the global scheduler.
- Database work runs asynchronously.
The same code runs on regular Paper, where these schedulers map onto the normal main thread.
Differences at region borders
Folia only lets a region touch blocks and entities it owns, so a few effects stop at region borders:
- Vein Miner stops following a vein at the border, and Explosive and Sonic skip blocks on the other side.
- Minions only mine blocks inside their own region.
- Impulse's lightning and Tohka's Starfall only hit players in the boss's region.
Regions are large, so players rarely notice. It only matters for a player standing right on a border.
Minions after a restart
On Folia, minions start working again when their chunk loads, rather than all at once when the plugin enables. The result is the same: loaded minions work, unloaded ones wait.
Bosses and restarts
Oracles, Rune Guardians, Thralls and Vessel bosses aren't saved with the chunk. On Folia a plugin can't remove entities while shutting down, so this keeps bosses from coming back without their AI after a restart. A fight in progress at a restart is lost.