Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
A tiny Java signal/event library with optional Bukkit/Spigot integration, backed by GEB
0.2.1-SNAPSHOT
Adds three platform modules next to signals-bukkit. signals-core and signals-bukkit have no API changes.
Added
signals-folia: SignalsLib for Folia's regionised multithreading. The jar is markedfolia-supported: trueand bundlessignals-bukkit, so Bukkit plugins keep usingBukkitSignalsunchanged.FoliaSignals: wrapsBukkitSignals(sameplayers(),blocks(),entities(),inventories(),on(...)) and addsconnectGlobal,connectAsync,connectRegionandconnectEntity. Each runs the listener inline when the current thread already owns the region, entity or global region, and schedules it otherwise. A task scheduled before its connection was disconnected is skipped.FoliaScheduler: wrapper over the global, region, entity and async schedulers, plusisFolia(),isGlobalThread(),ownsRegion(...)andownsEntity(...).- Needs Paper or Folia 1.20 or newer (the Folia schedulers). Compiled against
paper-api1.20.4 by default; change it with-PfoliaApiVersion=....
signals-bungeecord: SignalsLib for BungeeCord and Waterfall (one jar for both).BungeeSignalswithplayers(),servers(),proxy()shortcuts andon(Class), andSignalsBungeePluginfor the shared bridge (BungeeSignals.shared()). Descriptor isbungee.yml.- BungeeCord can only register handlers from annotated methods, so 16 events are bridged at
NORMALpriority (BungeeSignals.bridgedEvents());on(...)throwsIllegalArgumentExceptionfor any other event type. - Compiled against
bungeecord-api1.21-R0.4-SNAPSHOT by default; change it with-PbungeeApiVersion=....
signals-velocity: SignalsLib for Velocity.VelocitySignalswithplayers(),servers(),proxy()shortcuts,on(Class)for any Velocity event andPostOrderoptions (first(),early(),normal(),late(),last()), andSignalsVelocityPlugin(plugin idsignalslib) for the shared bridge (VelocitySignals.shared()).velocity-plugin.jsonis written by hand so its version follows the build.- Compiled against
velocity-api3.4.0-SNAPSHOT by default; change it with-PvelocityApiVersion=....
Fixed
FoliaScheduler.isGlobalThread()no longer usesBukkit.isGlobalTickThread()(not in Paper API); it looks the check up at runtime and, on a Folia build without it, reportsfalseso global listeners are scheduled.- Velocity handlers skip GEB dispatch while a signal has no listeners.
- Javadoc notes: scheduled Folia listeners cannot change the event, BungeeCord chat includes commands, Velocity
signed chat cannot be changed, and
ProxyInitializeEventmust be requested in the plugin constructor.
Changed (build)
- Version is now
0.2.1-SNAPSHOT. processResourcesno longer readsprojectat execution time (Gradle 8 deprecation warning), in every module.- Release jars in
./distare named per platform:SignalsLib-Bukkit-<version>.jar(wasSignalsLib-<version>.jar),SignalsLib-Folia-<version>.jar,SignalsLib-BungeeCord-<version>.jarandSignalsLib-Velocity-<version>.jar, each with-sourcesand-javadocjars. settings.gradle: added the Central snapshots repository (groupnet.md-5only, forbungeecord-api) and allowed groupcom.velocitypoweredon the PaperMC repository.- Maven POM names and descriptions cover all modules.
Platforms
Velocity
3.4–4.2.1