
自动切换工具
执行操作时自动切换工具。
AutoSwitch
AutoSwitch 是一款 Minecraft 模组(支持 Fabric / NeoForge),它会根据你即将进行的操作——挖掘、攻击、交互,或当特定状态变化以及快捷栏中可用物品的变化时(例如你用拳头击打石头方块,它会自动切换到镐子)自动切换当前手持的物品。
该模组由规则驱动,可通过位于 config 文件夹中的 HOCON 格式配置文件 autoswitch.conf 进行高度自定义。该文件夹位于资源包文件夹旁边。快速导航到此处的路径是:选项 > 资源包 > 向上导航一级文件夹。
游戏中按下 R 键可以动态切换模组的启用/禁用状态。
配置
本节仅适用于 AutoSwitch 12 及以上版本。早期版本使用不同的配置格式。
配置文件中包含四个部分——三个用于定义各种操作发生时的选择器和目标,一个用于通用功能配置:
attack-action- 用于 攻击(实体或方块)时的规则。interact-action- 用于 交互(类似于右键点击的操作)时的规则。stat-change-action- 由状态事件触发的规则(例如,使用不死图腾)。feature-config- 控制模组的整体行为。
每条规则包含:
priority- 整数;当多个目标匹配时,值更高的优先。target- 此规则匹配的内容(类型:BLOCK、ENTITY、STAT,或允许组合其他目标的EXPRESSION)。目标可以引用标签或特定的显式 ID(例如minecraft:ender_chest、sugar_cane)。tools- 要切换到的候选工具的有序数组。每个必须是ITEM或ITEM的EXPRESSION,也可以是空列表(以禁用该目标的切换)。
EXPRESSION 可以包含任意数量的元素或任意深度,提供极大的控制能力。默认配置覆盖了广泛的用例,可以作为扩展的良好基础。
工具和目标可以有一个可选的 data 字段,用于控制诸如应匹配的附魔或方块状态等属性。
实时编辑
在游戏中直接重新保存配置文件即可自动重新加载。
详细细节
表达式
表达式可以嵌套到你想要的任何深度。
表达式支持以下操作:
OR- 匹配其任意一个子项AND- 匹配其所有子项NOT- 不匹配其任何子项XOR- 仅匹配其其中一个子项
数据
目前支持以下数据类型:
BlockState- 要匹配的方块状态Component- 目前仅支持物品上的POTION_CONTENTSEnchantment- 物品拥有的附魔EntityEquipment- 实体穿戴的装备,例如带有鞍的猪
选择优先级
决策顺序(最先出现的差异项优先):
- 目标优先级 - 优先级更高的规则更受青睐。
- 目标评级(多级) - 比较从第 0 级到配置的最大值的评级级别。在每一级,按顺序比较:
isGroup(优先选择非组)hasData(优先选择有数据的)typeRating(数值更高者优先,例如武器 DPS 或挖掘等级)dataRating(数值更高者优先,例如标准化附魔等级)
- 工具优先级 - 优先选择内在优先级更高的工具。
- 工具评级(多级) - 与目标评级相同的多级比较逻辑(isGroup → hasData → typeRating → dataRating)。
- 当前槽位是否被选中? - 如果此前仍然平局,优先选择当前手持的槽位。
- 最小的槽位索引 - 最终平局决胜:数值最低(最左侧)的物品栏槽位胜出。
基于文本的流程图
开始:候选物品栏槽位(所有匹配选择器的槽位)
|
v
比较目标优先级
|-- 如果不同 --> 选择最高目标优先级 --> 结束
|
v(相同)
比较目标评级(级别 0..N)
对于每个级别:
- 比较:isGroup?(优先非组)
- 比较:hasData?(优先有数据的)
- 比较:typeRating(数值高者胜出)
- 比较:dataRating(数值高者胜出)
|-- 如果发现差异 --> 选择获胜者 --> 结束
|
v(无差异)
比较工具优先级
|-- 如果不同 --> 选择最高工具优先级 --> 结束
|
v(相同)
比较工具评级(级别 0..N)
(与目标评级相同的逐级规则)
|-- 如果发现差异 --> 选择获胜者 --> 结束
|
v(仍然平局)
优先选择当前选中的槽位?
|-- 是 --> 选择当前选中的 --> 结束
|-- 否 --> 选择数值最小(最左侧)的槽位 --> 结束
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。