本篇教程由作者设定未经允许禁止转载。
ABF(模组简称)配置文件解析
📣 前言
自 23.8 更新后,Mod 的可配置性进一步提高;本教程将全面解析该模组的配置文件。
虽然本质是一个随机钓鱼竿模组,但其强大的可配置性使其完全可以当作整合包魔改工具。
📣 配置界面
📌 所需前置
GUI 配置界面能显著降低上手难度,推荐新手使用。
若想通过直观的 GUI 修改模组的配置,需要安装以下模组:
Fabric API(从 23.8 版本作为可选前置)
YetAnotherConfigLib(适用于 1.20 及以上版本)
Cloth Config API(适用于 1.20 以下版本)
有很多人认为 YACL 的兼容实在太差,作者认为 YACL 配置界面排版更佳,可读性相比 Cloth Config API 更加直观。
📌 图片
这是运行在 Minecraft 1.20.6 & Fabirc 0.19.3 的配置界面截图。
|
|
|---|---|
|
|
📣 配置文件位置与格式
配置文件路径:
.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
}






