feat: add keybind for quickly toggling the mod if FAPI is present
This commit is contained in:
parent
e1d19df4c1
commit
e1be8aeed9
|
@ -28,9 +28,13 @@ dependencies {
|
||||||
modImplementation("io.gitlab.jfronny.libjf:libjf-config-core-v2:${jfMod.libJfVersion.get()}")
|
modImplementation("io.gitlab.jfronny.libjf:libjf-config-core-v2:${jfMod.libJfVersion.get()}")
|
||||||
modImplementation("io.gitlab.jfronny.libjf:libjf-translate-v1:${jfMod.libJfVersion.get()}")
|
modImplementation("io.gitlab.jfronny.libjf:libjf-translate-v1:${jfMod.libJfVersion.get()}")
|
||||||
include(modImplementation(fabricApi.module("fabric-message-api-v1", fabricVersion))!!)
|
include(modImplementation(fabricApi.module("fabric-message-api-v1", fabricVersion))!!)
|
||||||
|
// Keybind
|
||||||
|
modCompileOnly(fabricApi.module("fabric-key-binding-api-v1", fabricVersion))
|
||||||
|
modCompileOnly(fabricApi.module("fabric-lifecycle-events-v1", fabricVersion))
|
||||||
|
|
||||||
// Dev env
|
// Dev env
|
||||||
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-ui-tiny:${jfMod.libJfVersion.get()}")
|
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-ui-tiny:${jfMod.libJfVersion.get()}")
|
||||||
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-devutil:${jfMod.libJfVersion.get()}")
|
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-devutil:${jfMod.libJfVersion.get()}")
|
||||||
|
modLocalRuntime(fabricApi.module("fabric-resource-loader-v0", fabricVersion))
|
||||||
modLocalRuntime("com.terraformersmc:modmenu:9.0.0-pre.1")
|
modLocalRuntime("com.terraformersmc:modmenu:9.0.0-pre.1")
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package io.gitlab.jfronny.googlechat.client;
|
||||||
|
|
||||||
|
import io.gitlab.jfronny.googlechat.GoogleChat;
|
||||||
|
import io.gitlab.jfronny.googlechat.GoogleChatConfig;
|
||||||
|
import io.gitlab.jfronny.libjf.config.api.v2.ConfigHolder;
|
||||||
|
import io.gitlab.jfronny.libjf.config.api.v2.ConfigInstance;
|
||||||
|
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.fabricmc.loader.api.FabricLoader;
|
||||||
|
import net.minecraft.client.option.KeyBinding;
|
||||||
|
import net.minecraft.client.util.InputUtil;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class GoogleChatClient implements ClientModInitializer {
|
||||||
|
@Override
|
||||||
|
public void onInitializeClient() {
|
||||||
|
ConfigInstance ci = ConfigHolder.getInstance().get(GoogleChat.MOD_ID);
|
||||||
|
if (ci != null
|
||||||
|
&& FabricLoader.getInstance().isModLoaded("fabric-key-binding-api-v1")
|
||||||
|
&& FabricLoader.getInstance().isModLoaded("fabric-lifecycle-events-v1")) {
|
||||||
|
setupKeybind(ci);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setupKeybind(@NotNull ConfigInstance ci) {
|
||||||
|
// Factored out to prevent loading classes if mods are not present
|
||||||
|
KeyBinding keyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding(
|
||||||
|
"key." + GoogleChat.MOD_ID + ".toggle",
|
||||||
|
InputUtil.Type.KEYSYM,
|
||||||
|
-1,
|
||||||
|
KeyBinding.MULTIPLAYER_CATEGORY
|
||||||
|
));
|
||||||
|
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
||||||
|
if (keyBinding.wasPressed()) {
|
||||||
|
GoogleChatConfig.General.enabled = !GoogleChatConfig.General.enabled;
|
||||||
|
ci.write();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,5 +29,7 @@
|
||||||
"google-chat.jfconfig.advanced.debugLogs.tooltips": "Log additional information about message processing. Useful for debugging",
|
"google-chat.jfconfig.advanced.debugLogs.tooltips": "Log additional information about message processing. Useful for debugging",
|
||||||
|
|
||||||
"google-chat.jfconfig.client": "Client",
|
"google-chat.jfconfig.client": "Client",
|
||||||
"google-chat.jfconfig.server": "Server"
|
"google-chat.jfconfig.server": "Server",
|
||||||
|
|
||||||
|
"key.google-chat.toggle": "Toggle GoogleChat"
|
||||||
}
|
}
|
|
@ -17,7 +17,8 @@
|
||||||
"entrypoints": {
|
"entrypoints": {
|
||||||
"libjf:config": ["io.gitlab.jfronny.googlechat.JFC_GoogleChatConfig"],
|
"libjf:config": ["io.gitlab.jfronny.googlechat.JFC_GoogleChatConfig"],
|
||||||
"server": ["io.gitlab.jfronny.googlechat.server.GoogleChatServer"],
|
"server": ["io.gitlab.jfronny.googlechat.server.GoogleChatServer"],
|
||||||
"main": ["io.gitlab.jfronny.googlechat.GoogleChat"]
|
"main": ["io.gitlab.jfronny.googlechat.GoogleChat"],
|
||||||
|
"client": ["io.gitlab.jfronny.googlechat.client.GoogleChatClient"]
|
||||||
},
|
},
|
||||||
"mixins": [
|
"mixins": [
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue