矿工的优势

矿工的优势

MinersAdvantage - 让采矿更轻松...

MinersAdvantage

MinersAdvantage 横幅

概览

MinersAdvantage 是"我是来挖矿的,不是来填表格的"模组。

这是对旧版 MC 1.20 时代的又一次完全重写:保留了同样受人喜爱的生活质量组件,移除了历史痛点,并使整个模组在单人游戏和多人游戏中都更加合理。在挖矿、耕种和砍树时,你仍然可以节省大量时间,但如今有了现代 Fabric 和 NeoForge 的支持,并且在服务器负载下行为更清晰。

如果你曾想过"我只想要几组石头,为什么 45 分钟后我还在这里",那么这个模组就是为你准备的。

功能

  • Captivation(吸引):自动将附近的物品和经验球吸引到你身边(磁铁模式风格)。
  • Cropination(作物收获):右键点击锄头即可收获/补种成熟的作物。
  • Cultivation(耕作):通过自动耕地在有效的水/湿润条件下犁地,增强耕作行为。
  • Excavation(挖掘):一次性挖掘一个区域内的相连方块,而不是逐个挖掘。
  • Pathanation(铺路):使用你的锹快速铺设路径。
  • Illumination(照明):在你挖掘时放置火把,防止黑暗偷袭。
  • Lumbination(砍树):使用树干和树叶感知逻辑砍伐整棵树。
  • Shaftanation(矿道挖掘):挖掘可配置的条带采矿巷道。
  • Substitution(工具切换):根据上下文和规则自动在快捷栏中选择最佳工具。
  • Veination(矿脉挖掘):使用可配置的控制方式挖掘完整的矿脉。
  • Ventilation(通风井):挖掘垂直巷道(向上或向下),可选择放置梯子。
  • 服务器感知同步:游戏设置可同步,在多人游戏中可由服务器授权。
  • 多加载器 + 多版本支持:从一个共享代码库生成 Fabric 和 NeoForge 版本。

工作原理

Captivation(吸引)

Captivation 会观察你配置半径内的物品实体和经验球,并拉入你的列表模式所允许的物品。你可以将其作为白名单或黑名单模型运行,它还可以应用无条件黑名单,这样特定物品就不会被吸入。

Cropination(作物收获)

Cropination 有两个主要的农业便捷功能:右键点击作物上的锄头时收获作物并立即补种,以及可选的种子收获,让你选择是优化为干净的产出还是增加种子库存。

Cultivation(耕作)

Cultivation 专注于自动耕作,其耕作检查基于湿度条件,因此农田自动化仅在有效水源支持的地方发生。它的存在是为了让农业自动化感觉是刻意的,而不是"随机狂怒"。

Excavation(挖掘)

Excavation 会在一个可配置的体积内破坏匹配的方块,具有每刻处理限制、方块变体处理和列表过滤逻辑。它支持按住/切换模式的使用方式,并与其他系统(如 Illumination 和 Veination)在启用共享选项时协同工作。

Pathanation(铺路)

Pathanation 将草/泥土路径转换为快速的路径创建,具有可配置的宽度和长度。它实际上就是你的"无痛建造道路"按钮,适用于所有类型的泥土。

Illumination(照明)

Illumination 监测局部亮度,当超过你的阈值时放置火把。你可以继续挖矿,它负责处理"惊喜苦力怕角落"的预防工作。

Lumbination(砍树)

Lumbination 遍历树干和树叶空间以识别整棵树,并根据你的策略设置将其移除。你可以控制树叶处理、耐久度行为和树苗补种,使其在你偏好的速度与可持续性之间取得平衡。

Shaftanation(矿道挖掘)

Shaftanation 使用可配置的宽度、高度、深度和每节拍速率挖掘笔直的采矿通道。你选择矿道形状的预算,它执行重复的劳动。

Substitution(工具切换)

Substitution 评估方块/实体上下文并切换到快捷栏中的最佳工具,然后可以选择切换回来。规则配置文件支持基于动作的目标匹配和基于表达式的优先级排序,适用于喜欢精确控制的玩家。

Veination(矿脉挖掘)

Veination 将矿石挖掘扩展到完整的矿脉提取,具有距离限制和可选的计时修正器。它还可以控制是否需要潜行以及收获的矿石掉落物的放置位置。

Ventilation(通风井)

Ventilation 创建垂直通道,具有可配置的尺寸和吞吐量。可选的梯子放置有助于将该通道转变为实际可用的路线,而不是一个时尚的坑。

多人游戏同步与强制

仅客户端的视觉设置保持本地化,而影响游戏玩法的设置则在多人游戏中从服务器状态同步。简而言之:你的轮廓颜色是你的私事,服务器游戏规则是服务器的事。

安装

Fabric

  1. 安装支持的 Minecraft 版本和 Fabric Loader。
  2. 安装相同游戏版本的 Fabric API。
  3. 下载适用于你目标版本的 MinersAdvantage Fabric jar。
  4. 将 jar 文件放入你的 mods 文件夹。
  5. 启动游戏。

NeoForge

  1. 安装支持的 Minecraft 版本和 NeoForge。
  2. 下载适用于你目标版本的 MinersAdvantage NeoForge jar。
  3. 将 jar 文件放入你的 mods 文件夹。
  4. 启动游戏。

多人游戏说明

为确保功能一致和行为一致,请在客户端和服务器上都安装 MinersAdvantage。

配置

MinersAdvantage 将配置存储为 TOML 格式,分为两个根文件:

  • 客户端文件:minersadvantage-client-config.toml
  • 服务器游戏文件:minersadvantage-server-config.toml

客户端选项保持本地化。游戏选项在多人游戏中由服务器授权。

客户端配置 (minersadvantage-client-config.toml)

选项 类型 默认值 描述
disable_particle_effects boolean false 为 true 时禁用功能粒子效果。
outline_foreground_color_argb color 0xFF40D9C0 用于前景轮廓的 ARGB 颜色。
outline_see_through_color_argb color 0x4B40D9C0 用于透视轮廓的 ARGB 颜色。

通用游戏配置 (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
common.tps_guard boolean true - 在低 TPS 条件下减少激进行为。
common.gather_drops boolean false - 在适用时启用掉落物收集助手。
common.auto_illuminate boolean true - 允许兼容功能触发 Illumination 行为。
common.mine_veins boolean true - 允许兼容功能触发 Veination 行为。
common.blocks_per_tick int 1 1 到 1024 共享的每刻处理预算基线。
common.enable_tick_delay boolean true - 启用刻延迟节奏。
common.tick_delay int 5 0 到 200 启用时的处理周期之间的延迟。
common.block_radius int 3 1 到 128 相关功能操作的共享搜索半径。
common.block_limit int 64 1 到 8192 一次操作中处理方块的共享上限。

Captivation(吸引) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
captivation.enabled boolean true - 启用或禁用 Captivation。
captivation.allow_in_gui boolean false - 允许在 GUI 界面打开时进行吸引行为。
captivation.radius_horizontal int 16 1 到 128 水平拾取半径。
captivation.radius_vertical int 16 1 到 128 垂直拾取半径。
captivation.is_whitelist boolean false - 为 true 时将 blacklist 视为白名单。
captivation.unconditional_blacklist boolean false - 即使在白名单逻辑下,也始终排除列出的条目。
captivation.blacklist list<string> ["minecraft:rotten_flesh", "minecraft:egg"] - 用于白名单/黑名单过滤的物品 ID。

Cropination(作物收获) (minersadvantage-server-config.toml)

选项 类型 默认值 描述
cropination.enabled boolean true 启用或禁用 Cropination。
cropination.harvest_seeds boolean true 为 true 时,在自动收获期间掉落种子。

Cultivation(耕作) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
cultivation.enabled boolean true - 启用或禁用 Cultivation。
cultivation.hydration_distance int 4 1 到 16 湿度逻辑使用的与水距离检查。

Excavation(挖掘) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
excavation.enabled boolean true - 启用或禁用 Excavation。
excavation.width int 3 1 到 127 挖掘宽度。
excavation.height int 3 1 到 127 挖掘高度。
excavation.depth int 3 1 到 64 挖掘深度。
excavation.processes_per_tick int 10 1 到 512 每刻的处理吞吐量。
excavation.toggle_mode boolean false - 为 true 时使用切换行为而非按住行为。
excavation.ignore_block_variants boolean false - 将方块变体视为等同以进行匹配逻辑。
excavation.is_block_whitelist boolean false - 为 true 时将 block\_blacklist 视为白名单。
excavation.block_blacklist list<string> [] - 用于黑名单/白名单过滤的方块 ID。

Pathanation(铺路) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
pathanation.enabled boolean true - 启用或禁用 Pathanation。
pathanation.path_length int 6 1 到 64 生成的路径段长度。
pathanation.path_width int 3 1 到 9 生成的路径段宽度。

Illumination(照明) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
illumination.enabled boolean true - 启用或禁用 Illumination。
illumination.radius_horizontal int 8 1 到 64 放置检查的水平搜索半径。
illumination.radius_vertical int 4 1 到 64 放置检查的垂直搜索半径。
illumination.lowest_light_level int 1 0 到 15 低光照检测的放置阈值。
illumination.use_block_light boolean true - 为 true 时使用方块光照评估路径。

Lumbination(砍树) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
lumbination.enabled boolean true - 启用或禁用 Lumbination。
lumbination.max_trunk_range int 32 1 到 128 最大树干搜索范围。
lumbination.max_leaf_range int 6 1 到 32 最大树叶搜索范围。
lumbination.processes_per_tick int 8 1 到 512 每刻的处理吞吐量。
lumbination.chop_tree_below boolean true - 为 true 时继续砍伐起点下方的方块。
lumbination.destroy_leaves boolean true - 为 true 时在树木处理过程中移除树叶。
lumbination.leaves_affect_durability boolean false - 为 true 时对树叶应用工具耐久度消耗。
lumbination.replant_saplings boolean true - 尽可能尝试补种树苗。
lumbination.use_canopy_tool boolean true - 对于更宽阔的树形使用树冠检测/处理逻辑。
lumbination.ignore_player_placed_leaves boolean true - 在识别自然树木时忽略玩家放置的树叶。
lumbination.logs list<string> [] - 额外的树干/原木方块 ID。
lumbination.leaves list<string> [] - 额外的树叶方块 ID。
lumbination.axes list<string> [] - 允许用于砍树行为的工具列表。

Shaftanation(矿道挖掘) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
shaftanation.enabled boolean true - 启用或禁用 Shaftanation。
shaftanation.depth int 16 1 到 256 矿道长度/深度。
shaftanation.processes_per_tick int 10 1 到 512 每刻的处理吞吐量。
shaftanation.width int 1 1 到 7 矿道宽度。
shaftanation.height int 2 1 到 5 矿道高度。
shaftanation.torch_placement enum FLOOR 枚举值 火把放置模式(FLOOR 和其他枚举值)。

Substitution(工具切换) (minersadvantage-server-config.toml)

选项 类型 默认值 描述
substitution.enabled boolean true 启用或禁用 Substitution。
substitution.allow_mending boolean false 为 true 时允许在候选工具中包含经验修补工具。
substitution.prioritize_silk_touch boolean false 为 true 时优先考虑精准采集风格的结果。
substitution.switch_back boolean true 为 true 时在动作后切换回之前的格子。
substitution.favour_fortune boolean true 在适当情况下优先考虑时运结果。
substitution.ignore_if_valid_tool boolean true 如果当前持有的工具已经有效,则跳过切换。
substitution.ignore_passive_mobs boolean true 为 true 时防止对被动生物的攻击切换行为。
substitution.blacklist list<string> [] 从切换考虑中排除的物品 ID。

Veination(矿脉挖掘) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
veination.enabled boolean true - 启用或禁用 Veination。
veination.max_vein_distance int 12 1 到 64 最大连接矿脉距离。
veination.ores list<string> [] - 明确的矿石方块允许列表/目标。
veination.ore_harvest_without_sneak boolean true - 允许在不潜行的情况下收获矿石。
veination.drop_ores_at_first_block boolean true - 在第一个被破坏的矿石方块附近掉落产出。
veination.increase_harvest_time_per_ore boolean true - 为 true 时,挖掘时间随矿脉大小成比例增加。
veination.harvest_time_modifier double 0.2 0.01 到 10.0 应用于成比例收获时间的修正器。
veination.pickaxe_blacklist list<string> [] - 禁止用于矿脉挖掘行为的镐。

Ventilation(通风井) (minersadvantage-server-config.toml)

选项 类型 默认值 范围 描述
ventilation.enabled boolean true - 启用或禁用 Ventilation。
ventilation.width int 1 1 到 32 通风井宽度。
ventilation.height int 16 1 到 64 通风井高度范围。
ventilation.depth int 1 1 到 64 通风井深度/长度。
ventilation.processes_per_tick int 8 1 到 512 每刻的处理吞吐量。
ventilation.place_ladders boolean true - 启用时在挖掘通风井过程中放置梯子。

高级工具切换规则配置(运行时数据)

Substitution 在运行时配置默认值中包含一个高级的 selectionRules 配置文件。它能够感知动作和表达式,每个规则可以包含以下字段。

字段 类型 描述
action enum BREAK、 INTERACT、ATTACK、 STAT\_CHANGE 或 ANY。
targetKind enum BLOCK\_TAG、 ENTITY\_TYPE 或 ANY。
targetId string 所选目标种类的标签/实体标识符。
requiredToolKind string 工具家族提示(例如 pickaxe、 axe、shovel、 hoe)。
targetPriority int 在目标匹配之间进行选择的优先级。
toolPriority int 在工具候选之间进行选择的优先级。
preferSilkTouch boolean 为规则优先考虑精准采集风格的结果。
preferFortune boolean 为规则优先考虑时运风格的结果。
targetExpression string 可选的目标表达式,支持 AND/OR/NOT 和括号。
toolExpression string 可选的工具表达式,支持 AND/OR/NOT 和括号。
minSilkTouch int 所需的最低精准采集等级。
minFortune int 所需的最低时运等级。
requireMending boolean 为 true 时要求所选工具拥有经验修补。
denyMending boolean 为 true 时拒绝经验修补工具(如果两者都为 true,requireMending 优先)。

兼容性

主题 状态
Minecraft 版本 维护 1.21.11 和 26.1.2 节点。
加载器 Fabric 和 NeoForge 都是首要目标。
已知冲突 目前没有记录到硬冲突。如果你发现一个,请提交一个 issue。

技术文档

有关完整的技术细节,请参阅 TECHNICAL.md。

许可证

MIT - 请参阅 LICENSE.md 获取完整文本。

致谢

  • DuelMonster 负责原始模组和现代重写。
  • Stonecutter, Modstitch, Fabric, NeoForge, Cloth Config 和 ModMenu 的维护者。