Relay
High-performance reactive service registry, Pub/Sub messenger & Folia GUI engine for Paper/Folia.
Оцените первым
54
0
Список изменений
⚡ Relay v1.5.0 — Unified Multi-Thread Scheduler (Folia & Paper)
Relay v1.5.0 introduces SchedulerService, a unified, cross-platform task scheduling and multi-threading engine designed to bridge the gap between Folia's regional multi-threaded architecture and traditional Paper/Spigot single-thread environments.
🌟 What's New?
1. 🧵 Unified Folia & Paper Scheduler (SchedulerService)
No more NoSuchMethodError, UnsupportedOperationException, or unsafe Bukkit synchronous calls on Folia. Relay automatically detects the server platform at runtime and routes tasks deterministically:
- Entity-Bound Scheduling (
runFor,runForLater,runForRepeating): Executes safely on the regional thread owning the player or entity. Auto-cancels if the entity becomes invalid or logs off. - Region & Location Scheduling (
runAt,runAtLater,runAtRepeating): Binds tasks to Folia'sRegionSchedulerfor block mutations, particle spawns, and area-of-effect spells without thread deadlocks. - Global Tick Scheduling (
runGlobal,runGlobalLater,runGlobalRepeating): Routes to Folia'sGlobalRegionScheduler(or Paper's main thread) for server-wide broadcasts and world cycles. - Async Workers (
runAsync,runAsyncLater,runAsyncRepeating): Non-blocking execution backed by Folia'sAsyncScheduleror high-performance background executor pools.
2. ⚡ CompletableFuture Async Promises
- Seamless non-blocking asynchronous data pipelines via
supplyAsyncPromise(Supplier<T>)andrunAsyncPromise(Runnable). Easily chain database or web queries and pipe results directly into an entity's regional thread.
3. 🛡️ Runtime Thread Safety Assertions
- Safely assert thread contexts without reflection boilerplate:
scheduler.isEntityThread(entity)scheduler.isRegionThread(location)scheduler.isGlobalTickThread()
4. 🧹 Zero-Leak Task Cancellation
- Consumer plugins no longer leave zombie tasks behind upon reload or disable. Relay automatically tracks task ownership and calls
cancelAll(plugin)on server shutdown or plugin unload. - Real-time inspection added to
/relay status(Active Tasks: X).
📦 Dependency (v1.5.0)
Gradle (Kotlin DSL)
repositories {
mavenCentral()
maven("https://jitpack.io")
}
dependencies {
compileOnly("com.github.Kriscra.Relay:relay-api:v1.5.0")
}
Файлы
relay-core-1.5.0.jar(229.32 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.5.0
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.21–1.21.11
Загрузок
5
Дата публикации
30.09.2026