
在刻度之间单击
让你在《我的世界》中瞬间点击切换
这个模组允许玩家在 Minecraft 中即时输入
这是一个适用于 Minecraft 1.21.11 的 Fabric 模组,它会在 GLFW 报告鼠标、键盘
以及自定义绑定的输入边沿(edge)的瞬间捕获它们,并立即分发处理
——而不是仅仅设置一个标志位,等待下一个客户端 tick 才被拾取。
## 它实际做了什么(请先阅读此部分)
在 Minecraft 中,有两种不同的事物被称为"tick",这个模组的真正
价值取决于你指的是哪一种:
1. **渲染帧。** GLFW 输入事件已经是每*渲染帧*轮询一次,而不是每逻辑 tick 一次,
而且原版的输入处理器已经在 GLFW 的回调函数内运行。在任何高于 20 FPS 的情况下,
这意味着基本的按下/点击*检测*已经远高于 20Hz 逻辑 tick 的频率
——原版并不会像表面上看起来那样在 tick 之间静默丢弃原始事件。
2. **逻辑(模拟)tick。** 像攻击冷却、挖掘进度和实体移动这类事情,
是由 Minecraft 的固定速率 20Hz 模拟循环计算的。这个固定步长是物理和
战斗计时机制的基础,而且在你无法控制的任何服务器上,最终决定
你的操作何时生效的是*服务器*的 tick 循环——而不是你的客户端。没有任何客户端模组,
包括这个在内,能在不实际运行额外模拟步骤的情况下让方块破坏或攻击时机
发生在模拟 tick"之间",而那样做会使假设固定 50ms 步长的
速度/物理常量失去同步。这个模组特意**不**试图这样做。
它*确实*给你的东西:在任何按键、鼠标按钮、光标移动或
滚轮事件发生的瞬间,`InstantInputEvents` 会**内联触发,在同一个 GLFW 回调函数内部**
——在客户端甚至还没到达下一个逻辑 tick 之前——
而不是等待某个东西稍后轮询一个标志位。你基于 `InstantInputEvents` 构建的任何东西
(一个自定义动作、一个数据包、一个 UI 更新)都会以引擎物理上允许的最快速度响应,
而且你能得到一个精确到纳秒分辨率的时间戳,显示输入实际上落在
tick 周期内的什么位置——这是原版完全没有暴露的信息。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。