Modern KeyBinding

Modern KeyBinding - Modern KeyBinding 现代按键绑定

将 KeyModifier 和 KeyConflictContext 移植回 Fabric 和早期 Forge
fabric / forge 作者 TachibanaSherry 支持版本 1.7.10 - 1.20.4
下载量
526,615
关注数
125
数据来源
Modrinth
模组详细介绍

Modern KeyBinding

这个模组将新版本中的 KeyModifier 和 KeyConflictContext 移植回了 Fabric 和 Early Forge。

功能

你现在可以使用按键修饰键来定义按键绑定的激活键,例如 "Ctrl + G" 或 "Alt + S";

拥有相同激活键但不同按键冲突上下文的按键绑定将不再冲突。

“Non-conflict keys”(默认禁用):如果按下某个按键,使用相同按键的所有按键绑定都会被激活。

注意:

该模组会与 NEI 冲突并导致崩溃。请改用 GTNH 提供的 NEI Unofficial(依赖:CodeChickenCore | CodeChickenLib)。

作为 Gradle 依赖导入

repositories {
    //...
    maven {
        url "https://maven.nova-committee.cn/releases"
    }
}
dependencies {
    //...
    // Forge
    implementation "committee.nova.mkb.forge:mkb-${mc_version}:${mod_version}"
    // Fabric
    modImplementation "committee.nova.mkb.fabric:mkb-${mc_version}:${mod_version}"
}

注册一个按键绑定

注册一个满足以下条件的按键绑定:

  • 在按下 Alt 和 C 时激活;
  • 仅在 GUI 中可用。

ClientProxy.java

public class ClientProxy {
    public void init(final FMLInitializationEvent event) {
        //...
        yourKeyBinding = KeyBindingRegistry.INSTANCE.registerKeyBinding("key.exampleKey", KeyConflictContext.GUI, KeyModifier.ALT, Keyboard.KEY_C, "key.categories.example");
    }
}

修改现有按键绑定的属性

ClientProxy.java

public class ClientProxy {
    //...
    public void postInit(final FMLPostInitializationEvent event) {
        final IKeyBinding extended = (IKeyBinding) yourKeyBinding;
        // Change the key's keyCode and modifier, as their default values.
        extended.setInitialKeyModifierAndCode(KeyModifier.ALT, Keyboard.KEY_E);
        // Change the key's keyCode and modifier.
        extended.setKeyModifierAndCode(KeyModifier.ALT, Keyboard.KEY_E);
        // Change the key's conflict context.
        extended.setKeyConflictContext(KeyConflictContext.IN_GAME);
    }
}
基本信息
模组名称Modern KeyBinding
作者TachibanaSherry
下载量526,615
关注数125
支持版本1.7.10 - 1.20.4
加载器fabric / forge
客户端required
服务端unsupported