From 86bc75991a8f8969d830e1ebdce8f2278b2304a4 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 20:42:42 -0500 Subject: [PATCH] Move key registration to module --- .../dev/c0de/minecraft/client/Module.java | 16 ++++++++++++-- .../minecraft/client/c0deFoxModClient.java | 9 ++++---- .../minecraft/client/modules/Fullbright.java | 21 +++++++++---------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java index a82b312..0d212c2 100644 --- a/src/main/java/dev/c0de/minecraft/client/Module.java +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -2,6 +2,9 @@ package dev.c0de.minecraft.client; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.util.InputUtil; + +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; public abstract class Module { @@ -14,15 +17,24 @@ public abstract class Module { public void onToggle(MinecraftClient client) { } + public void registerKey(String translationKey, int glfw_key, String category) { + this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding( + translationKey, + InputUtil.Type.KEYSYM, + glfw_key, + category + )); + } + public void setState(boolean state) { this.state = state; } public KeyBinding getKey() { - return this.key; + return key; } public boolean isState() { - return this.state; + return state; } } \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index 46905ce..9f656c1 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -7,26 +7,25 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.minecraft.client.MinecraftClient; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import dev.c0de.minecraft.client.modules.Fullbright; -import java.util.List; - @Environment(EnvType.CLIENT) public class c0deFoxModClient implements ClientModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("c0defox"); private static c0deFoxModClient self; - protected Fullbright fullbright; + Module fullbright; @Override public void onInitializeClient() { ClientTickEvents.END_CLIENT_TICK.register(this::tick); + self = this; + fullbright = new Fullbright(); LOGGER.info("Ready"); @@ -38,7 +37,7 @@ public class c0deFoxModClient implements ClientModInitializer { // Called on every game tick public void tick(MinecraftClient client) { - fullbright.onTick(client); + this.fullbright.onTick(client); } } diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index 692dbfc..ba8feb1 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -3,11 +3,7 @@ package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; import dev.c0de.minecraft.client.c0deFoxModClient; - -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.option.KeyBinding; -import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import org.lwjgl.glfw.GLFW; @@ -16,24 +12,27 @@ public class Fullbright extends Module { double DEFAULT = 1.0; public void FullBright() { - this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding( - "key.c0defox.fullbright", - InputUtil.Type.KEYSYM, - GLFW.GLFW_KEY_B, - "key.categories.c0defox" - )); + this.registerKey("key.c0defox.fullbright", GLFW.GLFW_KEY_B, "key.categories.c0defox"); } @Override public void onTick(MinecraftClient client) { - update(client, DEFAULT); + if (key.wasPressed()) { + this.setState(!this.isState()); + } + if (this.isState()) { c0deFoxModClient.LOGGER.warn("Active State"); update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); + return; } + + update(client, DEFAULT); } private void update(MinecraftClient client, double value) { + c0deFoxModClient.LOGGER.warn(String.valueOf(value)); + if (client == null) return; if (client.options.getGamma().getValue() == value) return;