Skip to content

v1.6.0

Choose a tag to compare

@viincnt viincnt released this 12 Oct 14:59
· 5 commits to main since this release

Added

  • Full Folia support (folia-supported: true in plugin.yml). Chat delivery no longer assumes a single server thread: sender-side formatting (placeholders, MineDown/MiniMessage rendering, <selector>/<score>/<nbt> resolution) runs on the sending player's own region thread, and each recipient — message delivery and the actionbar read-receipt count alike — is handled independently on their own region thread, since Folia only allows a player's location/permissions/messaging to be touched by the thread that actually owns them. Verified on a live Folia server: broadcast channels, radius-limited local channels (including recipients on the other side of a region boundary), the read-receipt count, and the "no color permission" heads-up all behave identically to Paper.

Changed

  • Message's recipient fan-out (send()) was rewritten as a scatter/gather over each online player's own scheduler (new MessageDelivery) instead of one thread looping over everyone's location directly — required for the Folia support above. A player disconnecting mid-send, sender or recipient, can no longer leave the read-receipt count hanging or throw the message away silently. The radius/world eligibility check itself moved into a small pure function (new RecipientEligibility), which also collapses what used to be the same check written out twice (once for delivery, once for the count) into one place.