Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for TamKungZ_

A tiny Java signal/event library with optional Bukkit/Spigot integration, backed by GEB

Report SignalsLib?

R

0.2.2-SNAPSHOT-Bukkit

0.2.2-SNAPSHOT

Bug fixes, a few small API additions and a Javadoc pass. No breaking changes.

Added

  • SignalBus.connect(ConnectionGroup, SignalKey, Consumer) and SignalBus.once(ConnectionGroup, SignalKey, Consumer): the group variants for keys, matching the existing Class overloads.
  • signals-bukkit: PlayerSignals.login() (PlayerLoginEvent), chat() (AsyncPlayerChatEvent, fired off the main thread) and changedWorld() (PlayerChangedWorldEvent), so the Bukkit shortcuts cover what the BungeeCord and Velocity ones already did.
  • Javadoc for the public API that had none: Signal, SignalBus, SignalKey, ConnectionGroup, both EventSignalBuilder classes and the accessors of the three plugin entry points.
  • 18 new signals-core tests (42 in total, was 24): listener isolation when one throws, once with a throwing listener and with concurrent fires, filter/map cleanup, ConnectionGroup failure isolation, late adds and double disconnect, Connection.all/disconnected/close, key equality, primitive keys and the new overloads.

Fixed

  • SignalKey: primitive payload types are boxed. bus.signal(int.class).fire(1) used to throw ClassCastException because Class.cast rejects every value for a primitive class. int.class and Integer.class now address the same channel, and eventType() reports the boxed class.
  • FoliaScheduler.isFolia() is looked up once instead of on every call. isGlobalThread() calls it for each event on servers that lack Server#isGlobalTickThread, and on those servers every call threw and caught a ClassNotFoundException.
  • signals-core test sources used List.of (Java 9+), which cannot compile with -PjavaRelease below 9.

Changed (build)

  • Version is now 0.2.2-SNAPSHOT.

Information

Published
October 19, 2026
Author
0Downloads

Platforms

Paper
Paper
1.16–26.2