diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/gui/ComponentScreen.java b/common/src/main/java/io/github/kurrycat/mpkmod/gui/ComponentScreen.java index 97f097f4..a39b07f1 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/gui/ComponentScreen.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/gui/ComponentScreen.java @@ -90,14 +90,14 @@ public void onKeyEvent(int keyCode, int scanCode, int modifiers, boolean isCharT } } - public void onMouseClicked(Vector2D mouse, int mouseButton) { + public void onMouseClicked(Vector2D mouse, Mouse.Button mouseButton) { super.onMouseClicked(mouse, mouseButton); - if (handleMouseInput(Mouse.State.DOWN, mouse, Mouse.Button.fromInt(mouseButton))) return; + if (handleMouseInput(Mouse.State.DOWN, mouse, mouseButton)) return; if (movableComponents.isEmpty()) return; - if (Mouse.Button.LEFT.equals(mouseButton)) { + if (Mouse.Button.LEFT.equals(mouseButton.value)) { highlighted.clear(); lastClickedPos = mouse; @@ -111,7 +111,7 @@ public void onMouseClicked(Vector2D mouse, int mouseButton) { selected.add(clicked); holding.add(clicked); } - } else if (Mouse.Button.RIGHT.equals(mouseButton)) { + } else if (Mouse.Button.RIGHT.equals(mouseButton.value)) { highlighted.clear(); if (lastClickedPos != null && lastClicked == null) { lastClickedPos = null; @@ -207,24 +207,24 @@ public void onMouseClicked(Vector2D mouse, int mouseButton) { } } - public void onMouseClickMove(Vector2D mouse, int mouseButton, long timeSinceLastClick) { + public void onMouseClickMove(Vector2D mouse, Mouse.Button mouseButton, long timeSinceLastClick) { super.onMouseClickMove(mouse, mouseButton, timeSinceLastClick); - if (handleMouseInput(Mouse.State.DRAG, mouse, Mouse.Button.fromInt(mouseButton))) return; + if (handleMouseInput(Mouse.State.DRAG, mouse, mouseButton)) return; if (movableComponents.isEmpty()) return; selected = selected.stream().filter(c -> holding.contains(c)).collect(Collectors.toCollection(HashSet::new)); } - public void onMouseReleased(Vector2D mouse, int mouseButton) { + public void onMouseReleased(Vector2D mouse, Mouse.Button mouseButton) { super.onMouseReleased(mouse, mouseButton); - if (handleMouseInput(Mouse.State.UP, mouse, Mouse.Button.fromInt(mouseButton))) return; + if (handleMouseInput(Mouse.State.UP, mouse, mouseButton)) return; if (movableComponents.isEmpty()) return; - if (Mouse.Button.LEFT.equals(mouseButton) && lastClickedPos != null) { + if (Mouse.Button.LEFT.equals(mouseButton.value) && lastClickedPos != null) { boolean moved = lastClickedPos.sub(mouse).lengthSqr() > 3 * 3; if (!moved && lastClicked != null) { selected.clear(); diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/gui/MPKGuiScreen.java b/common/src/main/java/io/github/kurrycat/mpkmod/gui/MPKGuiScreen.java index 74b8c4d4..931350f1 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/gui/MPKGuiScreen.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/gui/MPKGuiScreen.java @@ -3,6 +3,7 @@ import io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft; import io.github.kurrycat.mpkmod.compatibility.MCClasses.Renderer2D; import io.github.kurrycat.mpkmod.gui.components.ComponentHolder; +import io.github.kurrycat.mpkmod.util.Mouse; import io.github.kurrycat.mpkmod.util.Vector2D; import java.awt.*; @@ -59,13 +60,13 @@ public void onGuiResized(Vector2D screenSize) { public void onKeyEvent(int keyCode, int scanCode, int modifiers, boolean pressed) { } - public void onMouseClicked(Vector2D mouse, int mouseButton) { + public void onMouseClicked(Vector2D mouse, Mouse.Button mouseButton) { } - public void onMouseClickMove(Vector2D mouse, int mouseButton, long timeSinceLastClick) { + public void onMouseClickMove(Vector2D mouse, Mouse.Button mouseButton, long timeSinceLastClick) { } - public void onMouseReleased(Vector2D mouse, int mouseButton) { + public void onMouseReleased(Vector2D mouse, Mouse.Button mouseButton) { } /** diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/util/Mouse.java b/common/src/main/java/io/github/kurrycat/mpkmod/util/Mouse.java index e2245d70..a9e2544b 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/util/Mouse.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/util/Mouse.java @@ -22,7 +22,24 @@ public boolean equals(int v) { public static Button fromInt(int v) { for (Button b : values()) if (b.value == v) return b; - return null; + return NONE; + } + + public static Button fromIntLatest(int v) { + switch (v) { + case 1: + return LEFT; + case 2: + return WHEEL; + case 3: + return RIGHT; + case 4: // TODO Test 4 & 5 + return BUTTON_4; + case 5: + return BUTTON_5; + default: + return NONE; + } } } diff --git a/fabric-26.3/build.gradle b/fabric-26.3/build.gradle index bcbc7711..bdf03210 100644 --- a/fabric-26.3/build.gradle +++ b/fabric-26.3/build.gradle @@ -22,8 +22,8 @@ dependencies { implementation include("net.fabricmc.fabric-api:fabric-api:${project.fabric_version}") - compileOnly "com.viaversion:viafabricplus-api:5.0.1" // TODO: Update - compileOnly "com.terraformersmc:modmenu:21.0.0-beta.1" // TODO: Update + compileOnly "com.viaversion:viafabricplus-api:5.1.1" + compileOnly "com.terraformersmc:modmenu:21.0.0" implementation "com.github.MPKMod.MPKNetworkAPI:common:${project.networkApiVersion}" } @@ -46,7 +46,7 @@ publishMods { modrinth { projectId = "412tAvWq" accessToken = providers.environmentVariable("MODRINTH_TOKEN") - minecraftVersions.add("26.2") + minecraftVersions.add("26.3") } /*github { repository = "MPKMod/MPKMod2" diff --git a/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/EventHandler.java b/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/EventHandler.java index b8877596..2078605c 100644 --- a/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/EventHandler.java +++ b/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/EventHandler.java @@ -87,8 +87,8 @@ public void onMouseScroll(double vertical, double x, double y) { public void onMouseButton(MouseButtonInfo input, int action, double x, double y) { API.Events.onMouseInput( - io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(input.button()), - input.button() == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE : + io.github.kurrycat.mpkmod.util.Mouse.Button.fromIntLatest(input.button()), + input.button() == 0 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE : (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP), (int) x, (int) y, 0, 0, 0, System.nanoTime() diff --git a/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/MPKGuiScreen.java b/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/MPKGuiScreen.java index 6f519684..3403023a 100644 --- a/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/MPKGuiScreen.java +++ b/fabric-26.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_26_3/MPKGuiScreen.java @@ -57,19 +57,19 @@ public boolean isPauseScreen() { @Override public boolean mouseClicked(MouseButtonEvent click, boolean doubled) { - eventReceiver.onMouseClicked(new Vector2D(click.x(), click.y()), click.button()); + eventReceiver.onMouseClicked(new Vector2D(click.x(), click.y()), io.github.kurrycat.mpkmod.util.Mouse.Button.fromIntLatest(click.button())); return super.mouseClicked(click, doubled); } @Override public boolean mouseReleased(MouseButtonEvent click) { - eventReceiver.onMouseReleased(new Vector2D(click.x(), click.y()), click.button()); + eventReceiver.onMouseReleased(new Vector2D(click.x(), click.y()), io.github.kurrycat.mpkmod.util.Mouse.Button.fromIntLatest(click.button())); return super.mouseReleased(click); } @Override public boolean mouseDragged(MouseButtonEvent click, double offsetX, double offsetY) { - eventReceiver.onMouseClickMove(new Vector2D(click.x(), click.y()), click.button(), 0); + eventReceiver.onMouseClickMove(new Vector2D(click.x(), click.y()), io.github.kurrycat.mpkmod.util.Mouse.Button.fromIntLatest(click.button()), 0); return super.mouseDragged(click, offsetX, offsetY); } diff --git a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/MPKGuiScreen.java b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/MPKGuiScreen.java index e0ebd63d..b4261ecf 100644 --- a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/MPKGuiScreen.java +++ b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/MPKGuiScreen.java @@ -77,19 +77,19 @@ protected void keyTyped(char typedChar, int keyCode) throws IOException { @Override protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { super.mouseClicked(mouseX, mouseY, mouseButton); - eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), mouseButton); + eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(mouseButton)); } @Override protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) { super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick); - eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, timeSinceLastClick); + eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(clickedMouseButton), timeSinceLastClick); } @Override protected void mouseReleased(int mouseX, int mouseY, int state) { super.mouseReleased(mouseX, mouseY, state); - eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state); + eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(state)); } @Override diff --git a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKGuiScreen.java b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKGuiScreen.java index 729cb671..8cc3235d 100644 --- a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKGuiScreen.java +++ b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKGuiScreen.java @@ -77,19 +77,19 @@ protected void keyTyped(char typedChar, int keyCode) throws IOException { @Override protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { super.mouseClicked(mouseX, mouseY, mouseButton); - eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), mouseButton); + eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(mouseButton)); } @Override protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) { super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick); - eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, timeSinceLastClick); + eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(clickedMouseButton), timeSinceLastClick); } @Override protected void mouseReleased(int mouseX, int mouseY, int state) { super.mouseReleased(mouseX, mouseY, state); - eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state); + eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(state)); } @Override diff --git a/gradle.properties b/gradle.properties index cb892fa6..63fd7072 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ $group=io.github.kurrycat.mpkmod $jitpackGroup=com.github.mpkmod -$version=2.3.4 +$version=2.3.5 $apiVersion=1.0 $modBaseName=mpkmod $commonBaseName=mpkmod-common