MeteorDevelopment / orbit

Extremely fast event system.
MIT License
48 stars 10 forks source link

Add `IEventBus` method to check for any registered listeners #5

Closed RacoonDog closed 9 months ago

RacoonDog commented 9 months ago

Example use case:

private void onChunkDeltaUpdate(ChunkDeltaUpdateS2CPacket packet) {
    if (EVENT_BUS.isListening(BlockUpdateEvent.class)) {
        packet.visitUpdates((blockPos, blockState) -> {
            EVENT_BUS.post(BlockUpdateEvent.get(blockPos, blockState));
        });
    }
}

This would make it be possible to:

  1. Only read the packet data if there is currently an event listener registered.
  2. Only read the packet data once if there are multiple event listeners registered.