▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА

Relay

High-performance reactive service registry, Pub/Sub messenger & Folia GUI engine for Paper/Folia.

Оцените первым
54
0
Все версии→Relay 1.5.0

Relay 1.5.0

Release30.09.2026

Список изменений

⚡ 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's RegionScheduler for block mutations, particle spawns, and area-of-effect spells without thread deadlocks.
  • Global Tick Scheduling (runGlobal, runGlobalLater, runGlobalRepeating): Routes to Folia's GlobalRegionScheduler (or Paper's main thread) for server-wide broadcasts and world cycles.
  • Async Workers (runAsync, runAsyncLater, runAsyncRepeating): Non-blocking execution backed by Folia's AsyncScheduler or high-performance background executor pools.

2. ⚡ CompletableFuture Async Promises

  • Seamless non-blocking asynchronous data pipelines via supplyAsyncPromise(Supplier<T>) and runAsyncPromise(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

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.21–1.21.11

Загрузок

5

Дата публикации

30.09.2026

Загрузил

ID версии

Главная