工具感知

工具感知

ToolSense 在破坏方块时会自动从你的物品栏中使用正确的工具——不会切换你选中的槽位,也不会移动你的工具。

ToolSense

合适的工具,自动到位。

ToolSense 是一个轻量级的原版增强(Vanilla+)实用模组,当你破坏方块时会自动使用你身上携带的合适工具——无需切换你选中的快捷栏槽位,也无需在物品栏中移动工具。

你想拿什么就拿什么。工具的事交给 ToolSense。

如果你手里拿着镐子却开始挖泥土,ToolSense 可以使用你物品栏中的铲子。开始砍原木时,它可以使用斧头。开始挖石头时,它可以使用镐子。

关键之处在于没有任何可见的切换。

你选中的快捷栏槽位保持不变,你手中的物品依然可见,你的工具也留在你放置的位置。合适的物品栏工具只是成为该次挖掘操作的有效工具。

使用的是真正的工具——包括其挖掘速度、附魔、耐久度、采集能力和掉落物。


工作原理

假设你手持火把,同时携带:

  • 一把镐子;

  • 一把铲子;

  • 一把斧头;

  • 以及一把锄头。

开始破坏石头时,ToolSense 会使用合适的镐子。

挖泥土时,它使用铲子。

破坏原木时,它使用斧头。

破坏一个以锄头为合适挖掘工具的方块时,它可以使用锄头。

你的火把自始至终保持选中并可见。

ToolSense 不会复制或伪造你的工具。物品栏中真正的工具执行操作,并承受相应的耐久度损耗。


特性

自动工具选择

ToolSense 会评估你正在破坏的方块以及你实际携带的工具。

它能够基于 Minecraft 正常的工具行为自动选择合适的工具,而非依赖一份庞大的硬编码方块列表。

当存在多个符合条件的工具时,ToolSense 会考虑它们合法的挖掘性能,并使用确定性的选择规则。

这使得普通的 Minecraft 工具和兼容的 NeoForge 工具都能自然地参与其中。


隐形工具使用

ToolSense 不会实际交换工具。

它不会:

  • 重新排列你的物品栏;

  • 将工具移入你的快捷栏;

  • 更改你选中的快捷栏槽位;

  • 快速来回切换槽位;

  • 可见地装备自动工具。

相反,被选中的物品栏工具会成为有效挖掘工具,而你实际选中的物品保持不变。

这意味着你可能看到手中是镐子、火把、方块、空手或其他选中物品,而合适的物品栏工具正在执行挖掘工作。

这是有意设计的。


搜索模式

ToolSense 提供两种工具搜索模式。

完整物品栏

ToolSense 可以在你的普通玩家物品栏中搜索合适的工具。

这是默认模式,带来最大的便利:你的镐子、铲子、斧头和其他挖掘工具不再需要占用快捷栏就能随时可用。

仅快捷栏

ToolSense 只考虑位于你快捷栏中的合格工具。

主物品栏其他位置的工具在自动选择时会被忽略。

此模式适合希望对 ToolSense 可自动使用的工具进行更严格控制的玩家。

在 1.0 版本中,副手不属于 ToolSense 自动工具搜索的范围。


手持工具优先级

ToolSense 尊重玩家的有意选择。

如果你实际手持的工具已经适合当前方块,ToolSense 通常会使用该工具,而不会用物品栏中的其他工具替换它。

例如:

如果你有意手持一把精准采集镐子,而物品栏其他地方有一把时运镐子,ToolSense 不会仅仅因为存在另一把镐子就覆盖你手持的精准采集镐子。

你有意选择的手持工具优先。

例外情况是可选的耐久度保护,当存在安全替代品时,它可以保护一把即将损坏的手持工具。


时运与精准采集控制

ToolSense 让你决定自动选择应如何处理时运和精准采集工具。

共有三种偏好模式:

AUTO(自动)

ToolSense 执行正常的自动工具选择。

AUTO 不会试图判断时运或精准采集对特定方块哪个更有价值。它使用正常的选择和性能规则。

FORTUNE(时运)

当 ToolSense 在合适的物品栏工具之间选择时,它会优先选择可用的合适时运工具。

Minecraft 正常的时运机制仍然决定实际掉落物。

SILK TOUCH(精准采集)

当 ToolSense 在合适的物品栏工具之间选择时,它会优先选择可用的合适精准采集工具。

Minecraft 正常的精准采集机制决定结果。

这些偏好影响的是自动物品栏选择。它们不会覆盖你已故意选择在手中的合适工具。


控制

V——循环切换工具偏好

ToolSense 的默认控制键是:

V

按下 V 循环切换:

AUTO → FORTUNE → SILK TOUCH → AUTO

会短暂显示一条消息,提示新选择的模式。

该按键可以通过 Minecraft 的常规方式更改:

选项 → 控制

ToolSense 使用 Minecraft 的标准按键绑定系统,因此正常的按键冲突和重新绑定行为均适用。


耐久度保护

ToolSense 包含对接近损坏的工具的可选保护。

默认

耐久度保护:关闭

默认阈值

剩余耐久度 5%

启用后,当存在安全替代品时,ToolSense 会避免自动选择剩余耐久度等于或低于配置阈值的工具。

保护适用于以下两种情况:

  • 从物品栏中自动选择的工具;

  • 以及你当前手持的濒危工具。

示例

你手持一把即将损坏的钻石镐。

一把健康的镐子位于你允许的 ToolSense 搜索区域内的其他位置。

启用耐久度保护后,ToolSense 可以改用那把健康的镐子。

玩家控制得到保留

耐久度保护不是耐久度锁定。

如果你有意手持一把即将损坏的工具,且不存在安全合格的替代品,Minecraft 仍允许你正常使用它——即使这意味着工具会损坏。

ToolSense 保护工具免受自动使用。它不会阻止你有意使用自己的装备。

阈值是包含性的:剩余耐久度等于或低于配置百分比的工具会被视为受保护。


真实的 Minecraft 工具行为

ToolSense 使用你物品栏中真正的工具。

有效工具保留适用的正常 Minecraft/NeoForge 行为,包括:

  • 挖掘速度;

  • 工具等级和采集要求;

  • 方块掉落物;

  • 耐久度;

  • 工具损坏;

  • 效率;

  • 时运;

  • 精准采集;

  • 耐久;

  • 标准挖掘速度修正;

  • 兼容的自定义耐久度行为;

  • 以及其他受支持的挖掘机制。

ToolSense 不会凭空创造耐久度,也不会手动重新实现时运/精准采集的战利品计算。

Minecraft 和 NeoForge 仍负责底层的挖掘、耐久度和战利品行为。

未被装备的 ToolSense 工具不会仅仅因为 ToolSense 可以将其用于挖掘,就有资格参与无关的装备机制。例如,ToolSense 不会将全物品栏范围的工具变成已装备的修补目标。


仅限左键挖掘

ToolSense 1.0 有意专注于破坏方块。

它不会为右键操作自动选择工具。

例如,物品栏中的斧头不会自动:

  • 去皮原木;

  • 刮削铜;

  • 除蜡。

物品栏中的铲子不会自动创建路径。

物品栏中的锄头不会自动耕地方块。

你实际手持的物品控制右键操作。

ToolSense 也不会为以下情况自动切换装备:

  • 战斗;

  • 盔甲;

  • 食物;

  • 放置方块;

  • 物品栏整理;

  • 或一般物品管理。


镐子、斧头、铲子、锄头与剪刀

ToolSense 支持标准挖掘工具的常规方块破坏行为,包括:

  • 镐子;

  • 斧头;

  • 铲子;

  • 锄头。

兼容的基于剪刀的方块破坏也通过 Minecraft 的正常挖掘机制得到支持,包括树叶、蜘蛛网和羊毛等合适的方块。

ToolSense 不会自动给动物剪毛或执行其他右键剪毛操作。

某些特殊的原版行为有意保留由你实际手持的工具控制。例如,ToolSense 不会自动使用物品栏中的剪刀来拆除绊线。


空手挖掘

你无需手持其他工具即可进行普通的 ToolSense 替换。

ToolSense 可以在你选中手为空时,自动使用兼容的物品栏镐子、斧头、铲子、锄头以及天然兼容的剪刀。

对于竹子特有的剑专属瞬间挖掘行为存在一项特殊限制:在 ToolSense 1.0 中,为该特殊行为自动提名物品栏剑需要可见手持物品非空。

普通挖掘行为不受影响。


多人游戏

ToolSense 采用服务器权威机制。

在多人游戏中,请在以下位置安装 ToolSense:

服务器和连接的客户端。

服务器独立决定哪把真实工具对该挖掘操作有效,并应用实际的耐久度、采集和战利品行为。

客户端无权告诉服务器应将哪个物品栏槽位视为工具。

其他玩家仍然看到你实际选中的物品,而非 ToolSense 的隐形有效工具。


模组工具兼容性

ToolSense 设计为自动与使用标准 Minecraft 和 NeoForge 挖掘行为的工具配合工作。

这包括标准工具组件、挖掘规则、属性及其他受支持的机制。

然而,某些高度定制的模组工具假定它们必须实际装备在玩家主手中,其自定义挖掘或耐久度代码才能正常工作。

ToolSense 采取保守的方式:

如果 ToolSense 无法安全地确定自定义挖掘经济在工具未装备时能够正常运作,它可能会忽略该工具而不进行自动选择,以避免错误的耐久度或掉落物风险。

你仍然可以正常手持并使用此类工具。

这意味着 ToolSense 倾向于正确的游戏体验,而非盲目宣称与每件自定义工具兼容。


致模组作者

大多数标准工具无需 ToolSense 专属集成。

对于具有专门挖掘、耐久度或附魔经济回调的自定义工具,ToolSense 提供:

@VirtualMiningCompatible

自定义物品可以显式声明:当 ToolSense 提供以下内容时,其完整的挖掘/耐久度实现是安全的:

  • 真实的 ItemStack;

  • 真实的玩家;

  • 且该 ItemStack 未被实际装备。

该声明有意不可继承。每个具体的自定义物品实现都必须自行做出兼容性声明。

不要仅仅为了强制 ToolSense 选择某物品就添加 @VirtualMiningCompatible。在未装备状态下,完整的挖掘和耐久度路径必须确实安全。


配置

ToolSense 为其核心行为提供配置,包括:

ToolSense 启用
开启或关闭自动工具选择。

搜索范围
在以下选项之间选择:

  • FULL_INVENTORY

  • HOTBAR_ONLY

耐久度保护
启用或禁用对濒危工具的自动保护。

耐久度保护阈值
设置工具变为受保护状态的剩余耐久度百分比。

默认配置:

  • ToolSense:启用

  • 搜索范围:完整物品栏

  • 耐久度保护:关闭

  • 保护阈值:5%

  • 工具偏好:自动

  • 偏好按键:V

时运/精准采集偏好属于玩家偏好,通过 ToolSense 按键绑定控制。


需求

Minecraft: 1.21.1
模组加载器: NeoForge
NeoForge: 21.1.250
Java: 21

在多人游戏中,ToolSense 必须同时安装在客户端和服务器上。


ToolSense 1.0.0

ToolSense 围绕一个简单的理念设计:

你不该仅仅因为面前的方块变了,就每隔几秒在普通工具之间来回切换。

携带你想要携带的工具。

选择你想要选择的物品。

其余交给 ToolSense。

合适的工具,自动到位。