generated from BocchiKessokuTeam/ForgeTemplateMod-ArchLoom
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
121 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
78 changes: 78 additions & 0 deletions
78
src/main/java/fi/dy/masa/malilib/compat/forge/event/ForgeInputEventHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
package fi.dy.masa.malilib.compat.forge.event; | ||
|
||
import fi.dy.masa.malilib.event.InputEventHandler; | ||
|
||
import net.minecraft.client.MinecraftClient; | ||
|
||
import net.minecraftforge.client.event.GuiScreenEvent; | ||
import net.minecraftforge.client.event.InputEvent; | ||
import net.minecraftforge.eventbus.api.SubscribeEvent; | ||
|
||
public class ForgeInputEventHandler { | ||
private final MinecraftClient client = MinecraftClient.getInstance(); | ||
@SubscribeEvent | ||
public void onKeyboardInput(InputEvent.KeyInputEvent event) { | ||
if (client.currentScreen == null) { | ||
// This event isn't cancellable, and is fired after vanilla key handling >_> | ||
// So this one needs to be handled with a Mixin | ||
((InputEventHandler) InputEventHandler.getInputManager()).onKeyInput(event.getKey(), event.getScanCode(), event.getModifiers(), event.getAction() != 0); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onMouseInputEvent(InputEvent.RawMouseEvent event) { | ||
int mouseX = 0; | ||
int mouseY = 0; | ||
|
||
if (client.currentScreen == null && ((InputEventHandler) InputEventHandler.getInputManager()).onMouseClick(mouseX, mouseY, event.getButton(), event.getAction() != 0)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onMouseScrollEvent(InputEvent.MouseScrollEvent event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onMouseScroll((int) event.getMouseX(), (int) event.getMouseY(), 0, event.getScrollDelta())) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiKeyboardKeyPressPre(GuiScreenEvent.KeyboardKeyPressedEvent.Pre event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onKeyInput(event.getKeyCode(), event.getScanCode(), event.getModifiers(), true)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiKeyboardKeyReleasePre(GuiScreenEvent.KeyboardKeyReleasedEvent.Pre event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onKeyInput(event.getKeyCode(), event.getScanCode(), event.getModifiers(), false)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiMouseClickPre(GuiScreenEvent.MouseClickedEvent.Pre event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onMouseClick((int) event.getMouseX(), (int) event.getMouseY(), event.getButton(), true)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiMouseReleasePre(GuiScreenEvent.MouseReleasedEvent.Pre event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onMouseClick((int) event.getMouseX(), (int) event.getMouseY(), event.getButton(), false)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiMouseScrolledPre(GuiScreenEvent.MouseScrollEvent.Pre event) { | ||
if (((InputEventHandler) InputEventHandler.getInputManager()).onMouseScroll((int) event.getMouseX(), (int) event.getMouseY(), event.getScrollDelta(), 0)) { | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@SubscribeEvent | ||
public void onGuiMouseMovedPre(GuiScreenEvent.MouseDragEvent.Pre event) { | ||
((InputEventHandler) InputEventHandler.getInputManager()).onMouseMove((int) event.getMouseX(), (int) event.getMouseY()); | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
src/main/java/fi/dy/masa/malilib/compat/forge/event/ForgeTickEventHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package fi.dy.masa.malilib.compat.forge.event; | ||
|
||
import fi.dy.masa.malilib.event.TickHandler; | ||
import fi.dy.masa.malilib.hotkeys.KeybindMulti; | ||
|
||
import net.minecraft.client.MinecraftClient; | ||
import net.minecraftforge.event.TickEvent; | ||
import net.minecraftforge.event.TickEvent.Phase; | ||
import net.minecraftforge.eventbus.api.SubscribeEvent; | ||
|
||
public class ForgeTickEventHandler { | ||
private final MinecraftClient client = MinecraftClient.getInstance(); | ||
@SubscribeEvent | ||
public void onClientTickEnd(TickEvent.ClientTickEvent event) { | ||
if (event.phase == Phase.END) { | ||
KeybindMulti.reCheckPressedKeys(); | ||
TickHandler.getInstance().onClientTick(client); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters