aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElis Eriksson <Spelis@duck.com>2025-11-23 15:50:13 +0100
committerElis Eriksson <Spelis@duck.com>2025-11-23 15:50:13 +0100
commit2ea463b870152586428c14fbbc5bdb60a232ca4f (patch)
tree70fedd889b8fab8a5e3c962e71383e2a74be9576 /src
parent9c99aa9fc8ce39c412e3acd8a77864e638bb0769 (diff)
downloadvalvesprint-master.tar
valvesprint-master.tar.gz
valvesprint-master.tar.bz2
valvesprint-master.tar.lz
valvesprint-master.tar.xz
valvesprint-master.tar.zst
valvesprint-master.zip
add compatibility i guess, and commit some more changes i made at some point idkmaster
Diffstat (limited to 'src')
-rw-r--r--src/client/java/eu/projnull/spelis/valvesprint/client/KeybindCompat.java29
-rw-r--r--src/client/java/eu/projnull/spelis/valvesprint/client/ValveSprintClient.java11
-rw-r--r--src/client/resources/valvesprint.client.mixins.json2
-rw-r--r--src/main/java/eu/projnull/spelis/valvesprint/ValveSprint.java10
-rw-r--r--src/main/resources/fabric.mod.json15
-rw-r--r--src/main/resources/valvesprint.mixins.json2
6 files changed, 42 insertions, 27 deletions
diff --git a/src/client/java/eu/projnull/spelis/valvesprint/client/KeybindCompat.java b/src/client/java/eu/projnull/spelis/valvesprint/client/KeybindCompat.java
new file mode 100644
index 0000000..ed7f427
--- /dev/null
+++ b/src/client/java/eu/projnull/spelis/valvesprint/client/KeybindCompat.java
@@ -0,0 +1,29 @@
+package eu.projnull.spelis.valvesprint.client;
+
+import net.minecraft.client.option.KeyBinding;
+import net.minecraft.client.util.InputUtil;
+import org.lwjgl.glfw.GLFW;
+
+import java.lang.reflect.Constructor;
+
+public class KeybindCompat {
+
+ public static KeyBinding createKeybind() {
+ String id = "key.valvesprint.walk";
+ int glfwKey = GLFW.GLFW_KEY_LEFT_SHIFT;
+ try {
+ Constructor<KeyBinding> newest = KeyBinding.class.getConstructor(String.class, InputUtil.Type.class, int.class, KeyBinding.Category.class);
+ return newest.newInstance(id, InputUtil.Type.KEYSYM, glfwKey, KeyBinding.Category.MOVEMENT);
+ } catch (NoSuchMethodException | NoClassDefFoundError e1) {
+ try {
+ Constructor<KeyBinding> old = KeyBinding.class.getConstructor(String.class, InputUtil.Type.class, int.class, String.class);
+ return old.newInstance(id, InputUtil.Type.KEYSYM, glfwKey, "key.categories.movement");
+ } catch (Exception e2) {
+ throw new RuntimeException("Cannot create keybind: unsupported MC version", e2);
+ }
+ } catch (Exception ex) {
+ throw new RuntimeException("Failed to create keybind", ex);
+ }
+ }
+
+}
diff --git a/src/client/java/eu/projnull/spelis/valvesprint/client/ValveSprintClient.java b/src/client/java/eu/projnull/spelis/valvesprint/client/ValveSprintClient.java
index 5b79ec1..a7cf564 100644
--- a/src/client/java/eu/projnull/spelis/valvesprint/client/ValveSprintClient.java
+++ b/src/client/java/eu/projnull/spelis/valvesprint/client/ValveSprintClient.java
@@ -4,23 +4,16 @@ import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.lwjgl.glfw.GLFW;
public class ValveSprintClient implements ClientModInitializer {
- private KeyBinding walkBind = KeyBindingHelper.registerKeyBinding(new KeyBinding(
- "key.valvesprint.walk",
- InputUtil.Type.KEYSYM,
- GLFW.GLFW_KEY_LEFT_SHIFT,
- "key.categories.movement"
- ));
+ private final KeyBinding walkBind = KeyBindingHelper.registerKeyBinding(KeybindCompat.createKeybind());
@Override
public void onInitializeClient() {
ClientTickEvents.START_CLIENT_TICK.register(client -> {
if (client.player != null) {
if (client.player.input.hasForwardMovement()) {
- client.player.setSprinting(!walkBind.isPressed() && !client.player.isSneaking());
+ client.player.setSprinting(!walkBind.isPressed());
}
}
});
diff --git a/src/client/resources/valvesprint.client.mixins.json b/src/client/resources/valvesprint.client.mixins.json
index 9244d67..a406851 100644
--- a/src/client/resources/valvesprint.client.mixins.json
+++ b/src/client/resources/valvesprint.client.mixins.json
@@ -1,7 +1,7 @@
{
"required": true,
"minVersion": "0.8",
- "package": "eu.projnull.spelis.valvesprint.mixin.client",
+ "package": "eu.projnull.spelis.valvesprint.client.mixins",
"compatibilityLevel": "JAVA_8",
"client": [
],
diff --git a/src/main/java/eu/projnull/spelis/valvesprint/ValveSprint.java b/src/main/java/eu/projnull/spelis/valvesprint/ValveSprint.java
deleted file mode 100644
index f48a8c1..0000000
--- a/src/main/java/eu/projnull/spelis/valvesprint/ValveSprint.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package eu.projnull.spelis.valvesprint;
-
-import net.fabricmc.api.ModInitializer;
-
-public class ValveSprint implements ModInitializer {
-
- @Override
- public void onInitialize() {
- }
-}
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index b973016..39efb61 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -4,8 +4,15 @@
"version": "${version}",
"name": "ValveSprint",
"description": "Sprinting like Valve games.",
- "authors": [],
- "contact": {},
+ "authors": [
+ "Spelis"
+ ],
+ "contact": {
+ "email": "spelis.loves.rust@gmail.com",
+ "issues": "https://github.com/spelis/ValveSprint/issues",
+ "homepage": "https://spelis.projnull.eu",
+ "sources": "https://github.com/spelis/ValveSprint"
+ },
"license": "MIT",
"icon": "assets/valvesprint/icon.png",
"environment": "client",
@@ -15,13 +22,9 @@
],
"client": [
"eu.projnull.spelis.valvesprint.client.ValveSprintClient"
- ],
- "main": [
- "eu.projnull.spelis.valvesprint.ValveSprint"
]
},
"mixins": [
- "valvesprint.mixins.json",
{
"config": "valvesprint.client.mixins.json",
"environment": "client"
diff --git a/src/main/resources/valvesprint.mixins.json b/src/main/resources/valvesprint.mixins.json
index 7638bdc..4afaf3a 100644
--- a/src/main/resources/valvesprint.mixins.json
+++ b/src/main/resources/valvesprint.mixins.json
@@ -1,7 +1,7 @@
{
"required": true,
"minVersion": "0.8",
- "package": "eu.projnull.spelis.valvesprint.mixin",
+ "package": "eu.projnull.spelis.valvesprint",
"compatibilityLevel": "JAVA_8",
"mixins": [
],