From 55e9b0fafd1bf46069e0396dc737fb43b129750a Mon Sep 17 00:00:00 2001 From: Hedzer Kuijlman Date: Sat, 12 Apr 2025 16:19:59 +0200 Subject: [PATCH] Added /camera keybind --- .../survivalfabric/SurvivalFabricClient.java | 8 +++++++ .../features/SFKeyBindings.java | 22 +++++++++++++++++++ .../assets/survivalfabric/lang/en_us.json | 4 +++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/client/java/wtf/hak/survivalfabric/features/SFKeyBindings.java diff --git a/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java b/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java index c4447d2..bd9e9b8 100644 --- a/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java +++ b/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java @@ -4,13 +4,21 @@ import net.fabricmc.api.ClientModInitializer; import wtf.hak.survivalfabric.config.client.ClientConfigManager; import wtf.hak.survivalfabric.features.AngleViewer; import wtf.hak.survivalfabric.features.RemoveDarknessEffect; +import wtf.hak.survivalfabric.features.SFKeyBindings; public class SurvivalFabricClient implements ClientModInitializer { @Override public void onInitializeClient() { + + // Config ClientConfigManager.getConfig(); + + // Features AngleViewer.register(); RemoveDarknessEffect.register(); + + // Key Bindings + SFKeyBindings.register(); } } \ No newline at end of file diff --git a/src/client/java/wtf/hak/survivalfabric/features/SFKeyBindings.java b/src/client/java/wtf/hak/survivalfabric/features/SFKeyBindings.java new file mode 100644 index 0000000..73df70b --- /dev/null +++ b/src/client/java/wtf/hak/survivalfabric/features/SFKeyBindings.java @@ -0,0 +1,22 @@ +package wtf.hak.survivalfabric.features; + +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 SFKeyBindings { + + private static final KeyBinding CAMERA_BIND = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.survivalfabric.camera", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_PERIOD, "category.survivalfabric.survivalfabric")); + + public static void register() { + ClientTickEvents.END_CLIENT_TICK.register(client -> { + if(client.player != null) { + if (CAMERA_BIND.wasPressed()) { + client.player.networkHandler.sendChatCommand("camera"); + } + } + }); + } +} diff --git a/src/main/resources/assets/survivalfabric/lang/en_us.json b/src/main/resources/assets/survivalfabric/lang/en_us.json index 7df7fde..92e23d7 100644 --- a/src/main/resources/assets/survivalfabric/lang/en_us.json +++ b/src/main/resources/assets/survivalfabric/lang/en_us.json @@ -15,5 +15,7 @@ "key.survivalfabric.angle12": "204.81 / -54.23", "key.survivalfabric.angle13": "245.14 / -54.23", "key.survivalfabric.angle14": "204.98 / -41.68", - "key.survivalfabric.angle15": "244.97 / -41.71" + "key.survivalfabric.angle15": "244.97 / -41.71", + "category.survivalfabric.survivalfabric": "Survival Fabric", + "key.survivalfabric.camera": "/camera" } \ No newline at end of file