From e3e3ea54f954feb4d55a93a04b851de32d118ecb Mon Sep 17 00:00:00 2001 From: MachineMuse Date: Wed, 4 Sep 2013 15:00:04 -0600 Subject: [PATCH 1/3] Added mouse event --- .../client/ForgeHooksClient.java | 5 +++ .../client/event/MouseEvent.java | 32 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 client/net/minecraftforge/client/event/MouseEvent.java diff --git a/client/net/minecraftforge/client/ForgeHooksClient.java b/client/net/minecraftforge/client/ForgeHooksClient.java index a49b48e8ca..a2c2b01031 100644 --- a/client/net/minecraftforge/client/ForgeHooksClient.java +++ b/client/net/minecraftforge/client/ForgeHooksClient.java @@ -6,6 +6,7 @@ import java.util.TreeSet; import javax.imageio.ImageIO; +import net.minecraftforge.client.event.MouseEvent; import org.lwjgl.LWJGLException; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.GL11; @@ -325,6 +326,10 @@ public class ForgeHooksClient } } + public static boolean postMouseEvent() { + return MinecraftForge.EVENT_BUS.post(new MouseEvent()); + } + /** * Initialization of Forge Renderers. */ diff --git a/client/net/minecraftforge/client/event/MouseEvent.java b/client/net/minecraftforge/client/event/MouseEvent.java new file mode 100644 index 0000000000..1c3a1df9fd --- /dev/null +++ b/client/net/minecraftforge/client/event/MouseEvent.java @@ -0,0 +1,32 @@ +package net.minecraftforge.client.event; + +import net.minecraftforge.event.Cancelable; +import net.minecraftforge.event.Event; +import org.lwjgl.input.Mouse; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 2:46 PM, 9/4/13 + */ +@Cancelable +public class MouseEvent extends Event { + public final int x; + public final int y; + public final int dx; + public final int dy; + public final int dwheel; + public final int button; + public final boolean buttonstate; + public final long nanoseconds; + + public MouseEvent() { + this.x = Mouse.getEventX(); + this.y = Mouse.getEventY(); + this.dx = Mouse.getEventDX(); + this.dy = Mouse.getEventDY(); + this.dwheel = Mouse.getEventDWheel(); + this.button = Mouse.getEventButton(); + this.buttonstate = Mouse.getEventButtonState(); + this.nanoseconds = Mouse.getEventNanoseconds(); + } +} From ad09526bee27ebdbb44391668ca567839978b9c6 Mon Sep 17 00:00:00 2001 From: MachineMuse Date: Wed, 4 Sep 2013 15:05:29 -0600 Subject: [PATCH 2/3] inserted hook into Minecraft.java --- .../minecraft/net/minecraft/client/Minecraft.java.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 40114cc97d..640810c51f 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -62,6 +62,15 @@ { this.entityRenderer.itemRenderer.resetEquippedProgress2(); } +@@ -1575,7 +1585,7 @@ + while (Mouse.next()) + { + i = Mouse.getEventButton(); +- ++ if (!ForgeHooksClient.postMouseEvent()) continue; + if (field_142025_a && i == 0 && (Keyboard.isKeyDown(29) || Keyboard.isKeyDown(157))) + { + i = 1; @@ -2046,6 +2056,11 @@ { this.statFileWriter.syncStats(); From 7a77b61ddd649f16c2731bee89f4f6043d658dad Mon Sep 17 00:00:00 2001 From: MachineMuse Date: Wed, 4 Sep 2013 15:27:45 -0600 Subject: [PATCH 3/3] fixed logic error --- patches/minecraft/net/minecraft/client/Minecraft.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 640810c51f..f60d3a38d1 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -67,7 +67,7 @@ { i = Mouse.getEventButton(); - -+ if (!ForgeHooksClient.postMouseEvent()) continue; ++ if (ForgeHooksClient.postMouseEvent()) continue; if (field_142025_a && i == 0 && (Keyboard.isKeyDown(29) || Keyboard.isKeyDown(157))) { i = 1;