Concepts · 02

Region logic

SilkMC inherits its regional threading model directly from Folia. This page summarizes the model and points to the SilkMC-specific behavior layered on top.

What a region is

A region is a contiguous group of loaded chunks that ticks together on a single scheduler-managed worker. The Folia scheduler grows and shrinks regions as players and entities move, splitting and merging them so that adjacent activity stays on the same worker.

Schedulers

SchedulerUse it when
RegionSchedulerYou have a location and want to mutate the region that owns it.
EntitySchedulerYou have an entity and want to mutate it on its owning region.
AsyncSchedulerYou want to do off-region work that does not touch world state.
GlobalRegionSchedulerYou need global tick work — weather, time, server-wide tasks.

SilkMC-specific behavior

SilkMC does not change the region model itself. It adds a small compatibility layer so that plugins which still call BukkitScheduler or sync teleport are bridged where it is safe.

see also
For the upstream implementation details and attribution, see the Upstream page. For the safe-by-default patterns to write against the region model, see Plugin developers.