MouseTweaks
[!INFO] Git Commit:
6e88f7d| Updated: 2026-09-10
MouseTweaks 是一个纯客户端的 Forge 1.7.10(GTNH fork)物品栏操作增强 mod,
作者 YaLTeR,modid MouseTweaks,硬依赖 GTNHLib >= [0.9.27,)。
按作者的说法,它「给鼠标按钮加上各种附加功能」:替换原版右键拖拽、新增两种左键拖拽、
以及用滚轮在两个背包之间快速搬运物品。
它不注册任何方块、物品、实体、维度、附魔、群系、结构、成就或热键,
全部内容就是 7 个配置项 + 鼠标/Shift 的输入重定向 + 容器兼容层。
运行期只有一个客户端事件钩子:TickEvent.RenderTickEvent 的 START 阶段。
三大 tweak:
- 右键拖拽替换(RMBTweak)——与原版右键拖拽几乎一致,区别是同一个栏位被反复经过 就会反复投入物品;启用后完全接管原版拖拽;
- 左键拖拽(两种)——手上有物品时,按住左键划过同类型物品自动合并(或 Shift 整堆移动); 手上没有物品时,Shift + 左键划过即可把整批物品快速送进另一个背包;
- 滚轮搬运(WheelTweak)——悬停在某堆物品上滚轮,即可批量在光标栏位与「另一半背包」之间 搬运同类型物品,推入 / 拉出的方向与搜索顺序均可配置。
此外还有一个非热键的输入模型事实:本 mod 没有任何 KeyBinding 注册,
Shift 是硬编码的 Keyboard.isKeyDown(KEY_LSHIFT) || isKeyDown(KEY_RSHIFT),
所有可调项都来自配置文件 config/MouseTweaks.cfg(也可在模组列表点「配置」打开
GTNHLib 配置界面编辑)。详见 输入方案。
游戏设定
- 配置文件系统 - GTNHLib
MTConfig的 7 个选项全表、配置文件config/MouseTweaks.cfg、旧配置删除逻辑与 GuiContainer 访问转换器 - 右键拖拽替换(RMBTweak) -
RMBTweak(boolean,默认true)替换原版右键拖拽;首槽位 /shouldClick状态机 - 左键拖拽(手持物品) -
LMBTweakWithItem(boolean,默认true)Shift 整堆移动 / 双击合并,含堆叠上限守卫 - 左键拖拽(空手 Shift) -
LMBTweakWithoutItem(boolean,默认true)空手 Shift + 左键批量转移 - 滚轮搬运(WheelTweak) -
WheelTweak(boolean,默认true)滚轮跨背包搬运,含推入/拉出点击序列与 NEI 互斥 - 滚轮搜索顺序 -
WheelSearchOrder(int,@RangeInt(0,1),默认1)由前到后 / 由后到前;仅影响拉出 - 滚轮方向语义 -
WheelScrollDirection(int,@RangeInt(0,3),默认0)4 种推入/拉出方向语义,含库存位置感知 - 滚轮物品数量缩放 -
ScrollItemScaling(int,@RangeInt(0,1),默认0)abs(wheel)/120或恒为 1,lwjgl3ify 强制为 1 - 容器兼容性 - 6 个容器 ID 的识别顺序、逐容器启用规则、原版与 Forestry 合成产物栏位下标表
- IMTModGuiContainer 接口 - 供其他 mod 接入的 11 方法接口(
isMouseTweaksDisabled/isWheelTweakDisabled/ 栏位委托等)
热键列表
- 输入方案 - 本 mod 不注册任何
KeyBinding(全仓库 0 处registerKeyBinding);实际输入源为鼠标左键/右键/滚轮 + 硬编码左右 Shift
配置项速查
| 字段名 | 类型 | 默认值 | 有效范围 | 作用 |
|---|---|---|---|---|
RMBTweak |
boolean |
true |
— | 替换原版右键拖拽机制 |
LMBTweakWithItem |
boolean |
true |
— | 手持物品时的左键拖拽 |
LMBTweakWithoutItem |
boolean |
true |
— | 空手 Shift + 左键拖拽 |
WheelTweak |
boolean |
true |
— | 滚轮快速跨背包搬运 |
WheelSearchOrder |
int |
1 |
0 – 1 | 目标栏位搜索方向(仅影响拉出) |
WheelScrollDirection |
int |
0 |
0 – 3 | 推入 / 拉出的滚轮方向语义 |
ScrollItemScaling |
int |
0 |
0 – 1 | 一次滚轮刻度移动几个物品 |
容器启用矩阵
| 容器 | 来源 | Mouse Tweaks | 滚轮 |
|---|---|---|---|
原版 GuiContainer |
继承 GuiContainer 且非创造模式、非 CJB_GuiCrafting |
启用 | 启用 |
| 自定义界面 | 实现 IMTModGuiContainer |
由 isMouseTweaksDisabled() 决定 |
由 isWheelTweakDisabled() 决定 |
| Forestry | forestry.core.gui.GuiForestry |
启用 | 启用 |
| CodeChickenCore | codechicken.core.inventory.GuiContainerWidget |
永远禁用 | 不适用 |
| NEI | GuiEnchantmentModifier |
启用 | 启用 |
| NEI | 其余 NEI 界面(含 GuiRecipe) |
禁用 | 不适用 |
Forestry 容器的
disableRMBDragIfRequired在源码中落到空default:分支, 因此 Forestry 界面不会关闭原版右键拖拽——这是源码现状而非配置项。