整合包作者上手指南
先做一份能提交、能领奖的任务,再添加前置、阶段和重复限制。本页使用原版物品和默认来源,不要求 KubeJS。示例数量和报酬用于验证配置,发布时请按整合包经济调整。
本文适用于潮汐委托 1.6.0。
1. 找到实际生效的目录
启动游戏并进入测试世界,让模组生成配置。单人使用当前游戏实例的 config/tidalcommission/;多人使用服务器目录下的同名目录。只改自己客户端的文件,不会改变远端服务器规则。
| 文件或目录 | 用途 |
|---|---|
commission_rules.json | 来源、翻牌费用、自动补充、时限、入口等共用规则 |
tasks/ | 作者编写的静态任务 JSON |
player_commissions.json | 玩家自行发布委托的规则,与本页的作者任务分开配置 |
client_ui.json | 本地显示设置,不控制任务抽取 |
在独立测试存档操作,并取得管理员权限(等级 2)。下面的管理器、重载和诊断命令都需要该权限。
2. 保存第一份任务
创建文件 config/tidalcommission/tasks/official/tutorial_iron.json,完整复制以下内容。保留 official 来源的默认启用状态及正权重。
{
"id": "tutorial:iron",
"tier": 1,
"source": "official",
"stars": 1,
"brief_description": "提交一个铁锭",
"full_description": "接取后,在委托详情中提交一个铁锭,领取一颗绿宝石。",
"weight": 10,
"duration": 0,
"requirements": {
"type": "item",
"target": "minecraft:iron_ingot",
"count": 1
},
"accept_cost": {
"primary": { "item": "minecraft:gold_nugget", "count": 1 }
},
"rewards": {
"primary": { "item": "minecraft:emerald", "count": 1 },
"extras": []
}
}
这里有三个不同的标识:
tutorial_iron.json是文件名,供作者管理文件。tutorial:iron是任务 ID,前置关系和完成记录使用它;tutorial是作者自行取的命名空间,不要求安装同名模组。official是来源 ID,必须能在主配置的sources中找到。
文件夹用于整理,任务属于哪个来源由 source 决定。不要给两份任务相同的 id。改标题可以保留 ID;改 ID 会让旧完成记录和前置引用无法对应。
3. 先确认加载,再测试提交
保存文件后执行:
/tc reload
/tc doctor
/tc editor manage
在管理器找到刚才的任务。如果没有出现,先检查扩展名是否为 .json、JSON 语法,以及重载提示和服务端日志是否报告跳过文件。
管理器的「测试」按钮会把选中任务直接放入一个空闲灰卡栏位,并设为进行中。准备一个铁锭,在详情中提交,确认物品消耗且获得一颗绿宝石。这一步无需反复抽卡寻找任务。
「测试」会绕过抽取资格和接取流程。 它适合检查目标、交付和奖励,不能证明来源权重、前置、重复限制或接取费用正确。测试任务完成后也会记录完成历史;验证一次性任务或前置时,应使用没有相关历史的测试玩家。没有空闲灰卡时,先正常结束其他测试委托并等待栏位可用。
4. 再验证正常接取
执行 /tc open,在灰卡选择一档并翻开。正常路径有三种不同的支出:
| 支出 | 设置位置 | 本例 |
|---|---|---|
| 翻开栏位 | 主配置 open_costs | 按当前一档费用准备 |
| 接取任务 | 任务 accept_cost | 一个金粒 |
| 提交目标 | 任务 requirements | 一个铁锭 |
自动补充省去第一项,不省去第二项。验收费用时使用生存模式,且不要携带会抵扣接取成本的担保凭证。
默认任务也在同一个池里,未抽到本例不等于加载失败。若要隔离测试,在备份后的独立测试实例中,把其他任务文件移到 tasks/ 以外,只保留本例再重载;放到 tasks/backup/ 仍会被递归读取。不要清空正式服任务目录做这种测试。
本例 duration: 0 表示接取后不限时,但翻开后仍须在接取倒计时内接受。改成正数会使用主配置中一档的完成时限,正数本身不是单份任务的自定义天数。
5. 理解任务怎样出现
普通静态任务先按目标档位筛选,再排除当前不能抽取的任务,例如前置未完成、重复限制未结束、阶段不满足或已占用相关栏位的任务。之后在有候选的来源间按来源权重抽取,再按该来源内部的任务有效权重抽取。
| 规则 | 回答的问题 |
|---|---|
tier | 属于哪个抽取档位?不是章节编号 |
source | 属于哪个来源?不是前置关系 |
来源 weight | 普通随机抽取时,来源相对其他可用来源有多大机会? |
任务 weight | 同档、同来源内,任务相对其他候选有多大机会? |
prerequisites | 玩家是否完成了指定任务?多个 ID 要全部完成 |
stage_rules | 玩家是否具备作者定义的进度标记? |
repeat | 玩家完成过后,还能否再次抽取? |
例如只有两个可用来源,权重同为 10,各占一半机会。选中某来源后,其中仅有两个候选任务,权重为 10 和 30,则分别占该来源内的四分之一和四分之三。候选随玩家状态变化,权重不是固定百分比。
自动补充会尝试档位并筛选候选;指定来源栏位允许玩家选择来源。玩家发布委托还有单独的抽取配置,不应直接套用上面的静态任务概率。
6. 按需要增加规则
第一份任务测试通过后,阅读按需求配置任务:
- 允许分批提交,或只检查物品不消耗。
- 从目标或奖励中选择。
- A 完成后解锁 B,以及两个前置汇合。
- 一次性、一小时冷却或现实时间每日限制。
- 获得阶段后开放任务。
- 增加来源分类。
/tc editor 可新建任务;/tc editor manage 可编辑已有任务。1.6.0 的「条件」页使用「前置委托 ID」文本框,多个 ID 用英文逗号分隔。具体字段见任务 JSON 与数据包。
7. 把配置交给玩家
本教程直接随整合包分发 config/tidalcommission/tasks/ 与所需主配置。配置文件和玩家存档是两套数据:前者定义任务,后者保存完成记录、阶段及委托板;备份时分别保存。
数据包在当前版本用于初始化配置任务,不能持续覆盖已有配置。目录已有任意任务 JSON 时不会重新导入,且初始化有命名空间限制,详见实际任务目录。不要删除正式配置来强迫重新导入。
发布前,在干净测试实例走一次抽取、接取、提交和领奖。对前置或一次性任务,再用没有完成历史的玩家验证顺序。更新整合包时保留任务 ID,并说明哪些配置文件需要更新。
遇到问题先查哪里
| 现象 | 检查顺序 |
|---|---|
| 管理器没有任务 | 文件位置、扩展名、JSON 语法、重载提示及服务端日志 |
| 管理器有任务但抽不到 | 来源启用及权重、档位、前置记录、重复限制、阶段、栏位占用 |
| 完成前置后没马上看到下一项 | 解锁只是获得抽取资格,后续仍需刷新和抽取 |
| 改 JSON 后已接取任务没变 | 旧栏位保存了任务实例;用新抽取或重新装入的测试实例检查 |
| 测试能完成,正常接取失败 | 「测试」跳过接取流程;另行检查费用和资格 |
| doctor 有数量但仍抽不到 | 玩家诊断主要统计阶段条件,不是全部抽取条件的最终诊断 |