本篇教程由作者设定未经允许禁止转载。

ABF(模组简称)配置文件解析

📣 前言

自 23.8 更新后,Mod 的可配置性进一步提高;本教程将全面解析该模组的配置文件。

虽然本质是一个随机钓鱼竿模组,但其强大的可配置性使其完全可以当作整合包魔改工具。

📣 配置界面

📌 所需前置

GUI 配置界面能显著降低上手难度,推荐新手使用。

若想通过直观的 GUI 修改模组的配置,需要安装以下模组:

有很多人认为 YACL 的兼容实在太差,作者认为 YACL 配置界面排版更佳,可读性相比 Cloth Config API 更加直观。

📌 图片

这是运行在 Minecraft 1.20.6 & Fabirc 0.19.3 的配置界面截图。


ABF 模组配置文件详解-第1张图片

ABF 模组配置文件详解-第2张图片

ABF 模组配置文件详解-第3张图片

ABF 模组配置文件详解-第4张图片


📣 配置文件位置与格式

配置文件路径:

.minecraft/config/anythingbutfish.json5

首次启动游戏时由模组自动生成。若文件不存在或格式损坏,模组将自动重建为默认配置。

更新模组时,由于配置文件的变化,建议删除旧配置以防出现问题。


📣 目录

配置文件共包含以下内容

  • 常规 概率、堆叠数量、经验值、抛竿

  • 杂项 模组总开关、调试模式、无限耐久、等待上钩、模组钓鱼竿兼容

  • 物品池 黑/白名单排除物品、附带规则

  • 实体池 黑/白名单排除生物、附带规则


🔨 功能开关

属性

类型

布尔值

默认值

true


模组的总开关。设为 false 时完全恢复原版钓鱼行为,不产生任何随机战利品。

🔗 debugMode(调试模式)

属性

类型

布尔值

默认值

true

开启后,每次收杆都会在聊天栏和游戏日志中输出本次钓到的结果。

此功能是为了排查模组冲突而设计,可能会影响性能,普通玩家无需开启。

输出示例:

[ABF] Item: minecraft:diamond x2
[ABF] Entity: minecraft:creeper
[ABF] XP: 37
[ABF] The one that got away...

🔗 infiniteDurability(无限耐久)

属性

类型

布尔值

默认值

false


开启后,钓鱼竿不再损耗耐久,可无限次抛竿收杆。对原版钓鱼竿及继承 FishingRodItem 的模组钓鱼竿均生效。

🔗 moddedRodCompat(模组钓鱼竿兼容)

属性

类型

布尔值

默认值

true


在旧版本确实是分开设计的,在新版本 (23.8) 没有删除而作为信息性标志,任何使用原版浮标实体的钓鱼竿都会自动触发模组机制。

🔗 waitForBite(等待上钩)


属性

类型

布尔值

默认值

true

控制何时给予随机战利品。

若禁用,每次收杆都给予随机战利品,无论是否钓到东西。

若启用, 仅在鱼钩实际上钩时才给予随机战利品,需要像原版钓鱼一样等待鱼咬钩。

🔨 概率设置

三个概率值总和不得超过 100。剩余部分为"跑掉了"的概率(即什么也没钓到)。

收杆时钓到随机物品的概率百分比。设为 0 可完全禁用此物品掉落。

🔗 chanceItem(物品掉落概率)


属性

类型

整数

范围

0 ~ 100

默认值

60


🔗 chanceEntity(实体生成概率)

属性

类型

整数

范围

0 ~ 100

默认值

25


钓鱼竿生成的实体会像物品一样被抛向玩家,务必小心点燃的 TNT 和苦力怕破坏你的派对。


🔗 chanceXp(经验球概率)

属性

类型

整数

范围

0 ~ 100

默认值

10


🔗 概率计算示例

"chanceItem": 60,
"chanceEntity": 25,
"chanceXp": 10
  • 物品:0% ~ 59%(60% 概率)

  • 实体:60% ~ 84%(25% 概率)

  • 经验:85% ~ 94%(10% 概率)

  • 跑掉了:95% ~ 99%(5% 概率,无任何产出)

若三项之和超过 100,模组会按比例自动缩放至 100 以内。


🔗 池模式(核心机制)

模组支持两种池模式,分别由 itemPoolIsWhitelist(物品名单)和 entityPoolIsWhitelist(实体名单)控制。


🔗 itemPoolIsWhitelist(物品池模式)

属性

类型

布尔值

默认值

true

🔗 entityPoolIsWhitelist(实体池模式)

属性

类型

布尔值

默认值

true

两种模式的行为:

白名单:只有列表中的条目可以出现,列表为空则完全跳过该类战利品。

黑名单:列表中的条目从全注册表中排除,其余均可出现,受注册表筛选器约束。


🔨 注册表筛选器

注意:以下筛选器仅在黑名单模式下从全注册表抽取时生效。白名单模式下无效。

🔗 allowModdedItems(允许模组物品)

属性

类型

布尔值

默认值

true


禁用时,黑名单模式下的全注册表抽取将排除所有非 minecraft 命名空间的物品。


🔗 allowModdedEntities(允许模组实体)

属性

类型

布尔值

默认值

true

禁用时,黑名单模式下的全注册表抽取将排除所有非 minecraft 命名空间的实体。


🔗 allowAdminItems(允许管理员物品)

属性

类型

布尔值

默认值

true


禁用时,以下物品不会出现在随机池中:

  • 命令方块(普通 / 连锁 / 循环 / 命令方块矿车)

  • 结构方块、结构空位、拼图方块

  • 屏障、调试棒

  • 成书、知识之书

  • 光源方块


🔗 allowDangerousMobs(允许危险生物)

属性

类型

布尔值

默认值

false

设为 false(默认)时,以下实体不会出现在随机池中:

  • 末影龙(minecraft:ender_dragon)

  • 凋灵(minecraft:wither)


🔨 物品设置

🔗 itemCountMin(最小堆叠数量)

属性

类型

整数

范围

1 ~ 64

默认值

1


🔗 itemCountMax(最大堆叠数量)

属性

类型

整数

范围

1 ~ 64(须 ≥ itemCountMin)

默认值

1


随机钓到物品时的默认堆叠数量范围。白名单条目可通过自身的 minCount / maxCount 覆盖此全局设置。


🔗 itemPool(物品列表)

属性

类型

对象数组

默认值

[](空列表)


每个条目的格式:

{
  "id": "minecraft:diamond",
  "minCount": 1,
  "maxCount": 3
}


🔩 白名单模式示例

只允许钓到钻石、铁锭和鳕鱼:

"itemPoolIsWhitelist": true,
"itemPool": [
  { "id": "minecraft:diamond" },
  { "id": "minecraft:iron_ingot", "minCount": 1, "maxCount": 5 },
  { "id": "minecraft:cod" }
]


🔩 黑名单模式示例

禁止钓到泥土和石头:

"itemPoolIsWhitelist": false,
"itemPool": [
  { "id": "minecraft:dirt" },
  { "id": "minecraft:stone" }
]


🔨 实体设置

🔗 entityPool(实体列表)

属性

类型

对象数组

默认值

[](空列表)


每个条目的格式:

{
  "id": "minecraft:creeper"
}


🔩 白名单模式示例

只允许钓到猪和牛:

"entityPoolIsWhitelist": true,
"entityPool": [
  { "id": "minecraft:pig" },
  { "id": "minecraft:cow" }
]


🔩 黑名单模式示例

禁止钓到苦力怕和末影人:

"entityPoolIsWhitelist": false,
"entityPool": [
  { "id": "minecraft:creeper" },
  { "id": "minecraft:enderman" }
]

注意:玩家(minecraft:player)和浮标(minecraft:fishing_bobber)始终被排除,无法通过配置添加。


🔨 经验设置

🔗 xpMin(最小经验值)

属性

类型

整数

范围

1 ~ 1000

默认值

1


🔗  xpMax(最大经验值)

属性

类型

整数

范围

1 ~ 1000(须 ≥ xpMin)

默认值

50


触发经验结果时,实际奖励的经验点数在此设置之间随机取值。


🔨 物理参数

控制收杆后物品、实体和经验球飞向玩家的方式。

🔗 flingSpeed(抛出速度)

属性

类型

浮点数

范围

0.01 ~ 1.0

默认值

0.1


水平速度倍率。值越大,战利品飞向玩家的水平速度越快。


🔗 flingArc(抛出弧度)

属性

类型

浮点数

范围

0.0 ~ 1.0

默认值

0.08


向上弧度倍率。值越大,战利品飞得越高(先上升再落下)。设为 0.0 时战利品沿直线飞向玩家。


🚩 完整配置文件示例

一份带注释的完整配置文件示例(JSON5 格式):

/*
 * AnythingButFish Configuration File
 *
 * Pool modes:
 *   itemPoolIsWhitelist / entityPoolIsWhitelist
 *     true  (WHITELIST) – only items/entities in the list can appear.
 *                         Empty list = skip this loot type entirely.
 *     false (BLACKLIST) – full registry minus items/entities in the list.
 *                         allowModded/allowAdmin/allowDangerous filters apply.
 *
 * Probability: chanceItem + chanceEntity + chanceXp <= 100.
 *   Remainder is the chance of nothing (the one that got away).
 */
{
  "itemPoolIsWhitelist": false,
  "entityPoolIsWhitelist": false,
  "enabled": true,
  "debugMode": false,
  "infiniteDurability": false,
  "moddedRodCompat": true,
  "waitForBite": false,
  "allowModdedItems": true,
  "allowModdedEntities": true,
  "allowAdminItems": false,
  "allowDangerousMobs": false,
  "chanceItem": 60,
  "chanceEntity": 25,
  "chanceXp": 10,
  "itemCountMin": 1,
  "itemCountMax": 1,
  "itemPool": [],
  "entityPool": [],
  "xpMin": 1,
  "xpMax": 50,
  "flingSpeed": 0.1,
  "flingArc": 0.08
}