From c07c7b933749630eb3512ea59ae0cbd659eb4f76 Mon Sep 17 00:00:00 2001 From: Tim203 Date: Thu, 1 Sep 2022 00:50:03 +0200 Subject: [PATCH] Added support for latest events version --- .../geysermc/geyser/event/GeyserEventBus.java | 15 +++++++++++---- .../geyser/event/GeyserEventSubscriber.java | 18 ++++++++++++++---- .../event/GeyserExtensionEventBus.java | 15 +++++++++++---- 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/event/GeyserEventBus.java b/core/src/main/java/org/geysermc/geyser/event/GeyserEventBus.java index 7d0d6336d..f634931f4 100644 --- a/core/src/main/java/org/geysermc/geyser/event/GeyserEventBus.java +++ b/core/src/main/java/org/geysermc/geyser/event/GeyserEventBus.java @@ -27,6 +27,7 @@ package org.geysermc.geyser.event; import org.checkerframework.checker.nullness.qual.NonNull; import org.geysermc.event.Event; +import org.geysermc.event.PostOrder; import org.geysermc.event.bus.impl.OwnedEventBusImpl; import org.geysermc.event.subscribe.OwnedSubscriber; import org.geysermc.event.subscribe.Subscribe; @@ -43,8 +44,11 @@ public final class GeyserEventBus extends OwnedEventBusImpl> B makeSubscription( - Extension owner, Class eventClass, Subscribe subscribe, - L listener, BiConsumer handler) { + @NonNull Extension owner, + @NonNull Class eventClass, + @NonNull Subscribe subscribe, + @NonNull L listener, + @NonNull BiConsumer handler) { return (B) new GeyserEventSubscriber<>( owner, eventClass, subscribe.postOrder(), subscribe.ignoreCancelled(), listener, handler ); @@ -52,8 +56,11 @@ public final class GeyserEventBus extends OwnedEventBusImpl> B makeSubscription( - Extension owner, Class eventClass, Consumer handler) { - return (B) new GeyserEventSubscriber<>(owner, eventClass, handler); + @NonNull Extension owner, + @NonNull Class eventClass, + @NonNull Consumer handler, + @NonNull PostOrder postOrder) { + return (B) new GeyserEventSubscriber<>(owner, eventClass, handler, postOrder); } @Override diff --git a/core/src/main/java/org/geysermc/geyser/event/GeyserEventSubscriber.java b/core/src/main/java/org/geysermc/geyser/event/GeyserEventSubscriber.java index 6fac82b96..5012037bb 100644 --- a/core/src/main/java/org/geysermc/geyser/event/GeyserEventSubscriber.java +++ b/core/src/main/java/org/geysermc/geyser/event/GeyserEventSubscriber.java @@ -25,6 +25,7 @@ package org.geysermc.geyser.event; +import org.checkerframework.checker.nullness.qual.NonNull; import org.geysermc.event.Event; import org.geysermc.event.PostOrder; import org.geysermc.event.subscribe.impl.OwnedSubscriberImpl; @@ -36,12 +37,21 @@ import java.util.function.Consumer; public final class GeyserEventSubscriber extends OwnedSubscriberImpl implements ExtensionEventSubscriber { - GeyserEventSubscriber(Extension owner, Class eventClass, Consumer handler) { - super(owner, eventClass, handler); + GeyserEventSubscriber( + @NonNull Extension owner, + @NonNull Class eventClass, + @NonNull Consumer handler, + @NonNull PostOrder postOrder) { + super(owner, eventClass, handler, postOrder); } - GeyserEventSubscriber(Extension owner, Class eventClass, PostOrder postOrder, boolean ignoreCancelled, - H handlerInstance, BiConsumer handler) { + GeyserEventSubscriber( + @NonNull Extension owner, + @NonNull Class eventClass, + @NonNull PostOrder postOrder, + boolean ignoreCancelled, + @NonNull H handlerInstance, + @NonNull BiConsumer handler) { super(owner, eventClass, postOrder, ignoreCancelled, handlerInstance, handler); } } diff --git a/core/src/main/java/org/geysermc/geyser/extension/event/GeyserExtensionEventBus.java b/core/src/main/java/org/geysermc/geyser/extension/event/GeyserExtensionEventBus.java index d1a647be7..7294d4345 100644 --- a/core/src/main/java/org/geysermc/geyser/extension/event/GeyserExtensionEventBus.java +++ b/core/src/main/java/org/geysermc/geyser/extension/event/GeyserExtensionEventBus.java @@ -27,17 +27,14 @@ package org.geysermc.geyser.extension.event; import org.checkerframework.checker.nullness.qual.NonNull; import org.geysermc.event.Event; -import org.geysermc.event.bus.impl.EventBusImpl; -import org.geysermc.event.subscribe.Subscribe; +import org.geysermc.event.PostOrder; import org.geysermc.event.subscribe.Subscriber; import org.geysermc.geyser.api.event.EventBus; import org.geysermc.geyser.api.event.EventSubscriber; import org.geysermc.geyser.api.event.ExtensionEventBus; -import org.geysermc.geyser.api.event.ExtensionEventSubscriber; import org.geysermc.geyser.api.extension.Extension; import java.util.Set; -import java.util.function.BiConsumer; import java.util.function.Consumer; public record GeyserExtensionEventBus(EventBus eventBus, Extension extension) implements ExtensionEventBus { @@ -68,6 +65,16 @@ public record GeyserExtensionEventBus(EventBus eventBus, Extension extension) im return eventBus.subscribe(extension, eventClass, consumer); } + @Override + @SuppressWarnings("unchecked") + public > @NonNull U subscribe( + @NonNull Class eventClass, + @NonNull Consumer consumer, + @NonNull PostOrder postOrder + ) { + return eventBus.subscribe(extension, eventClass, consumer, postOrder); + } + @Override public void unregisterAll() { eventBus.unregisterAll(extension);