From ac10df2b0edf2f04dc8b44b419fa740a222d2004 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 31 Dec 2020 20:10:28 +0800 Subject: [PATCH] Use better createInteractionResult instead of looping ourselves. --- .../events/client/ClientGuiInputEvent.java | 154 ++---------------- 1 file changed, 14 insertions(+), 140 deletions(-) diff --git a/common/src/main/java/me/shedaniel/architectury/event/events/client/ClientGuiInputEvent.java b/common/src/main/java/me/shedaniel/architectury/event/events/client/ClientGuiInputEvent.java index 6c5fe468..0a5609c1 100644 --- a/common/src/main/java/me/shedaniel/architectury/event/events/client/ClientGuiInputEvent.java +++ b/common/src/main/java/me/shedaniel/architectury/event/events/client/ClientGuiInputEvent.java @@ -29,146 +29,20 @@ import net.minecraft.world.InteractionResult; @Environment(EnvType.CLIENT) public interface ClientGuiInputEvent { - Event MOUSE_SCROLLED_PRE = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, amount) -> { - for (MouseScrolled listener : listeners) { - InteractionResult result = listener.mouseScrolled(client, screen, mouseX, mouseY, amount); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_SCROLLED_POST = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, amount) -> { - for (MouseScrolled listener : listeners) { - InteractionResult result = listener.mouseScrolled(client, screen, mouseX, mouseY, amount); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_CLICKED_PRE = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, button) -> { - for (MouseClicked listener : listeners) { - InteractionResult result = listener.mouseClicked(client, screen, mouseX, mouseY, button); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_CLICKED_POST = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, button) -> { - for (MouseClicked listener : listeners) { - InteractionResult result = listener.mouseClicked(client, screen, mouseX, mouseY, button); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_RELEASED_PRE = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, button) -> { - for (MouseReleased listener : listeners) { - InteractionResult result = listener.mouseReleased(client, screen, mouseX, mouseY, button); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_RELEASED_POST = EventFactory.of(listeners -> { - return (client, screen, mouseX, mouseY, button) -> { - for (MouseReleased listener : listeners) { - InteractionResult result = listener.mouseReleased(client, screen, mouseX, mouseY, button); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_DRAGGED_PRE = EventFactory.of(listeners -> { - return (client, screen, mouseX1, mouseY1, button, mouseX2, mouseY2) -> { - for (MouseDragged listener : listeners) { - InteractionResult result = listener.mouseDragged(client, screen, mouseX1, mouseY1, button, mouseX2, mouseY2); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event MOUSE_DRAGGED_POST = EventFactory.of(listeners -> { - return (client, screen, mouseX1, mouseY1, button, mouseX2, mouseY2) -> { - for (MouseDragged listener : listeners) { - InteractionResult result = listener.mouseDragged(client, screen, mouseX1, mouseY1, button, mouseX2, mouseY2); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event CHAR_TYPED_PRE = EventFactory.of(listeners -> { - return (client, screen, character, keyCode) -> { - for (KeyTyped listener : listeners) { - InteractionResult result = listener.charTyped(client, screen, character, keyCode); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event CHAR_TYPED_POST = EventFactory.of(listeners -> { - return (client, screen, character, keyCode) -> { - for (KeyTyped listener : listeners) { - InteractionResult result = listener.charTyped(client, screen, character, keyCode); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event KEY_PRESSED_PRE = EventFactory.of(listeners -> { - return (client, screen, keyCode, scanCode, modifiers) -> { - for (KeyPressed listener : listeners) { - InteractionResult result = listener.keyPressed(client, screen, keyCode, scanCode, modifiers); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event KEY_PRESSED_POST = EventFactory.of(listeners -> { - return (client, screen, keyCode, scanCode, modifiers) -> { - for (KeyPressed listener : listeners) { - InteractionResult result = listener.keyPressed(client, screen, keyCode, scanCode, modifiers); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event KEY_RELEASED_PRE = EventFactory.of(listeners -> { - return (client, screen, keyCode, scanCode, modifiers) -> { - for (KeyReleased listener : listeners) { - InteractionResult result = listener.keyReleased(client, screen, keyCode, scanCode, modifiers); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); - Event KEY_RELEASED_POST = EventFactory.of(listeners -> { - return (client, screen, keyCode, scanCode, modifiers) -> { - for (KeyReleased listener : listeners) { - InteractionResult result = listener.keyReleased(client, screen, keyCode, scanCode, modifiers); - if (result != InteractionResult.PASS) - return result; - } - return InteractionResult.PASS; - }; - }); + Event MOUSE_SCROLLED_PRE = EventFactory.createInteractionResult(MouseScrolled.class); + Event MOUSE_SCROLLED_POST = EventFactory.createInteractionResult(MouseScrolled.class); + Event MOUSE_CLICKED_PRE = EventFactory.createInteractionResult(MouseClicked.class); + Event MOUSE_CLICKED_POST = EventFactory.createInteractionResult(MouseClicked.class); + Event MOUSE_RELEASED_PRE = EventFactory.createInteractionResult(MouseReleased.class); + Event MOUSE_RELEASED_POST = EventFactory.createInteractionResult(MouseReleased.class); + Event MOUSE_DRAGGED_PRE = EventFactory.createInteractionResult(MouseDragged.class); + Event MOUSE_DRAGGED_POST = EventFactory.createInteractionResult(MouseDragged.class); + Event CHAR_TYPED_PRE = EventFactory.createInteractionResult(KeyTyped.class); + Event CHAR_TYPED_POST = EventFactory.createInteractionResult(KeyTyped.class); + Event KEY_PRESSED_PRE = EventFactory.createInteractionResult(KeyPressed.class); + Event KEY_PRESSED_POST = EventFactory.createInteractionResult(KeyPressed.class); + Event KEY_RELEASED_PRE = EventFactory.createInteractionResult(KeyReleased.class); + Event KEY_RELEASED_POST = EventFactory.createInteractionResult(KeyReleased.class); interface KeyPressed { InteractionResult keyPressed(Minecraft client, Screen screen, int keyCode, int scanCode, int modifiers);