• >
  • LIBMod
  • >
  • [MKB]现代化按键绑定 (Modern KeyBinding)
[MKB]现代化按键绑定 (Modern KeyBinding)
模组属性评比

距离显示结果还剩2票~

路过的这位少侠,你觉得这款Mod怎么样,可否愿意来评一评它呢?登录并评比
更新日志
  • 暂无日志..

历史编辑记录更多
    管理组

      暂无管理组..

    编辑组

      暂无编辑组..

    半弃坑
    开源
    [MKB]

    现代化按键绑定

    Modern KeyBinding

    0.0

    无人问津

    昨日指数: 58
    昨日平均指数: 83.872

    5.14万

    总浏览

    --

    资料填充率


    下载本模组
    • 本模组将高版本 Forge 提供的按键修饰符(KeyModifier)和按键冲突情景(IKeyConflictContext)移植到 Fabric 和 低版本 Forge。

      功能

      • 允许设置形如"Ctrl + A"、"Alt + Q"的键位;

      • 相同键位、不同按键冲突情景的按键绑定不再冲突;

      • 为“重置按键”按钮添加一个确认页面。

      • “全键无冲”(默认关闭)——按下按键时,所有指定键位为该按键的按键绑定均能被激活。本功能有独立实现,见全键无冲


      配置文件说明

      Forge

      .minecraft\config\ModernKeyBinding.cfg

      general {
          # 全键无冲功能,设置为true以启用。 [默认值:false]
          B:nonConflictKeys=false
      }

      Fabric

      .minecraft\config\ModernKeyBinding-Config.properties

      #ModernKeyBinding-Config
      nonConflictKeys=true

      添加依赖

      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 界面可用的按键绑定)

      public void foo() {
          ...
          yourKeyBinding = KeyBindingRegistry.INSTANCE.registerKeyBinding("key.exampleKey",
           KeyConflictContext.GUI, KeyModifier.ALT, Keyboard.KEY_C, "key.categories.example");
      }

      更改已有按键绑定属性

      public void foo() {
          final IKeyBinding extended = (IKeyBinding) yourKeyBinding;
          // 更改键位和修饰符,且设为默认
          extended.setInitialKeyModifierAndCode(KeyModifier.ALT, Keyboard.KEY_E);
          // 更改键位和修饰符
          extended.setKeyModifierAndCode(KeyModifier.ALT, Keyboard.KEY_E);
          // 更改按键冲突情景
          extended.setKeyConflictContext(KeyConflictContext.IN_GAME);
      }

      兼容性提示

      Forge 1.7.10

      若出现任何兼容问题,请使用 mixinless 版并安装 Unimixins 作为 mixin 加载器;

      出现形如“java.lang.ArrayIndexOutOfBoundsException: XXX at org.lwjgl.input.Keyboard.getKeyName(Keyboard.java:429)”的崩溃报错,请安装安全键位名

      Fabric

      原生兼容 NMUK

      从本模组 Fabric-1.20-1.2.0 版开始,兼容键位冲突显示(Fabric-1.20.1-12.0.2+);

      不兼容 Amecs

      注意事项


    短评加载中..