From 2af34feb2a49a5ab00d9b5cd8e3997c99bae53d8 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 30 Mar 2021 01:19:43 +0800 Subject: [PATCH] Fix invalid events --- .../java/me/shedaniel/architectury/event/EventFactory.java | 2 +- .../shedaniel/architectury/event/events/ExplosionEvent.java | 2 +- .../java/me/shedaniel/architectury/event/events/GuiEvent.java | 2 +- .../me/shedaniel/architectury/event/events/TooltipEvent.java | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/me/shedaniel/architectury/event/EventFactory.java b/common/src/main/java/me/shedaniel/architectury/event/EventFactory.java index e054b55c..fca87718 100644 --- a/common/src/main/java/me/shedaniel/architectury/event/EventFactory.java +++ b/common/src/main/java/me/shedaniel/architectury/event/EventFactory.java @@ -89,7 +89,7 @@ public final class EventFactory { @Override protected Object handleInvocation(@NotNull Object proxy, @NotNull Method method, Object @NotNull [] args) throws Throwable { for (T listener : listeners) { - InteractionResult result = (InteractionResult) method.invoke(listener, args); + InteractionResult result = (InteractionResult) Objects.requireNonNull(method.invoke(listener, args)); if (result != InteractionResult.PASS) { return result; } diff --git a/common/src/main/java/me/shedaniel/architectury/event/events/ExplosionEvent.java b/common/src/main/java/me/shedaniel/architectury/event/events/ExplosionEvent.java index 38bc9e9c..9a2699bc 100644 --- a/common/src/main/java/me/shedaniel/architectury/event/events/ExplosionEvent.java +++ b/common/src/main/java/me/shedaniel/architectury/event/events/ExplosionEvent.java @@ -30,7 +30,7 @@ import java.util.List; public interface ExplosionEvent { Event
 PRE = EventFactory.createInteractionResult();
-    Event DETONATE = EventFactory.createInteractionResult();
+    Event DETONATE = EventFactory.createLoop();
     
     interface Pre {
         InteractionResult explode(Level world, Explosion explosion);
diff --git a/common/src/main/java/me/shedaniel/architectury/event/events/GuiEvent.java b/common/src/main/java/me/shedaniel/architectury/event/events/GuiEvent.java
index e8a61a92..9a7863f5 100644
--- a/common/src/main/java/me/shedaniel/architectury/event/events/GuiEvent.java
+++ b/common/src/main/java/me/shedaniel/architectury/event/events/GuiEvent.java
@@ -49,7 +49,7 @@ public interface GuiEvent {
      */
     Event INIT_POST = EventFactory.createLoop();
     Event RENDER_PRE = EventFactory.createInteractionResult();
-    Event RENDER_POST = EventFactory.createInteractionResult();
+    Event RENDER_POST = EventFactory.createLoop();
     
     /**
      * Invoked during Minecraft#setScreen, equivalent to forge's {@code GuiOpenEvent}.
diff --git a/common/src/main/java/me/shedaniel/architectury/event/events/TooltipEvent.java b/common/src/main/java/me/shedaniel/architectury/event/events/TooltipEvent.java
index 673994e0..8a492439 100644
--- a/common/src/main/java/me/shedaniel/architectury/event/events/TooltipEvent.java
+++ b/common/src/main/java/me/shedaniel/architectury/event/events/TooltipEvent.java
@@ -44,8 +44,8 @@ public interface TooltipEvent {
      * Render forge events are only invoked on the forge side.
      */
     Event RENDER_FORGE_PRE = EventFactory.createInteractionResult();
-    Event RENDER_MODIFY_POSITION = EventFactory.createInteractionResult();
-    Event RENDER_MODIFY_COLOR = EventFactory.createInteractionResult();
+    Event RENDER_MODIFY_POSITION = EventFactory.createLoop();
+    Event RENDER_MODIFY_COLOR = EventFactory.createLoop();
     
     @Environment(EnvType.CLIENT)
     interface Item {