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.