打开数学计算器
Just Enough Calculation 第二个也是最后一个热键,用于打开内置的 BigDecimal 计算器界面。
本 mod 全仓库只有这两个 KeyBinding,没有第三个。
基本信息
| 属性 | 值 |
|---|---|
| 字段 | JecaGui.keyOpenGuiMath(public static final) |
| 本地化键 | jecalculation.key.gui_math |
| 英文显示名 | Open math calculator |
| 中文显示名 | 打开数学计算器 |
| 分类 | jecalculation.key.category → Just Enough Calculation |
| 默认按键 | Keyboard.KEY_NONE(未绑定) |
| 注册代码 | ClientRegistry.registerKeyBinding(keyOpenGuiMath) |
源码:
public static final KeyBinding keyOpenGuiMath = new KeyBinding(
"jecalculation.key.gui_math",
KEY_NONE,
"jecalculation.key.category");
与 打开合成计算器 一样默认是
KEY_NONE。本 mod 不占用 任何默认键位,玩家可在按键设置里自由绑定。
触发流程
玩家按下被绑定的键
→ FMLBusEventHandler.onKey(InputEvent.KeyInputEvent event)
→ JecaGui.onKey()
→ if (keyOpenGuiMath.isPressed()) JecaGui.openGuiMath(false)
→ JecaGui.displayGui(true, true, false, new GuiMath())
JecaGui.onKey() 的完整实现只有两行判断,两个热键都靠它:
public static void onKey() {
if (keyOpenGuiCraft.isPressed()) JecaGui.openGuiCraft(false);
if (keyOpenGuiMath.isPressed()) JecaGui.openGuiMath(false);
}
界面能做什么
数学计算器与合成计算器共用同一套「按值取标签」逻辑,但走的是完全独立的数据模型
RecordMath(BigDecimal,不涉及配方和物品)。详见
数学显示模式——其中 Operator 5 个取值就是
这个界面上的五个运算按钮。
与指令的关系
/jeca math 子命令调用 JecaGui.openGuiMath(true)(scheduled = true),
权限等级 0。这是默认未绑定按键时打开本界面的途径。见 指令。