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.2-SNAPSHOT
Bug fixes, a few small API additions and a Javadoc pass. No breaking changes.
Added
SignalBus.connect(ConnectionGroup, SignalKey, Consumer)andSignalBus.once(ConnectionGroup, SignalKey, Consumer): the group variants for keys, matching the existingClassoverloads.signals-bukkit:PlayerSignals.login()(PlayerLoginEvent),chat()(AsyncPlayerChatEvent, fired off the main thread) andchangedWorld()(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, bothEventSignalBuilderclasses and the accessors of the three plugin entry points. - 18 new
signals-coretests (42 in total, was 24): listener isolation when one throws,oncewith a throwing listener and with concurrent fires,filter/mapcleanup,ConnectionGroupfailure 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 throwClassCastExceptionbecauseClass.castrejects every value for a primitive class.int.classandInteger.classnow address the same channel, andeventType()reports the boxed class.FoliaScheduler.isFolia()is looked up once instead of on every call.isGlobalThread()calls it for each event on servers that lackServer#isGlobalTickThread, and on those servers every call threw and caught aClassNotFoundException.signals-coretest sources usedList.of(Java 9+), which cannot compile with-PjavaReleasebelow 9.
Changed (build)
- Version is now
0.2.2-SNAPSHOT.
Platforms
Paper
1.16–26.2