Skip to content

季节商人交易(Season Quest)

season_quest 是历史遗留名称。

在当前版本中,它不再作为完整任务系统使用,而是用于向流浪商人添加季节限定交易。

玩家可以在特定节气期间,从流浪商人处使用指定物品交换季节相关奖励,例如温室核心精华。


文件路径

季节商人交易是 JSON 数据文件。

放置路径为:

data/<命名空间>/eclipticseasons/season_quest

基本示例

{
  "start": "spring_equinox",
  "end": "beginning_of_summer",
  "need": [
    {
      "items": "minecraft:wheat",
      "count": 48
    },
    {
      "items": "minecraft:emerald",
      "count": 16
    }
  ],
  "award": [
    {
      "id": "eclipticseasons:spring_greenhouse_essence",
      "Count": 1
    }
  ],
  "max_count": 1
}

上述配置会让流浪商人在春分至立夏期间有机会提供以下交易:

48 Wheat + 16 Emeralds → 1 Spring Greenhouse Essence

字段说明

start

交易开始出现的节气。

"start": "spring_equinox"

当当前节气早于该值时,交易不会出现。


end

交易结束出现的节气。

"end": "beginning_of_summer"

当当前节气超过该值后,交易不会出现。


need

交易所需物品。

"need": [
  {
    "items": "minecraft:wheat",
    "count": 48
  }
]

need 会被转换为流浪商人的交易成本。


需求物品数量限制

虽然 need 是列表,但实际交易最多只会使用前两个物品:

  • 第一个物品作为主交易成本
  • 第二个物品作为附加交易成本

第三个及之后的物品不会参与实际交易。

因此建议只填写 1 到 2 个需求物品。


堆叠数量限制

交易成本会被转换为 Minecraft 原版村民交易成本。

因此,每个需求物品的 count 不应超过该物品的最大堆叠数量。

例如,小麦最大堆叠数量为 64,因此不应写成:

{
  "items": "minecraft:wheat",
  "count": 640
}

应改为不超过最大堆叠数量的数值,例如:

{
  "items": "minecraft:wheat",
  "count": 48
}

如果需要更高交易成本,可以使用两个需求物品,但每一项都仍然需要遵守对应物品的最大堆叠限制。


award

交易奖励。

"award": [
  {
    "id": "eclipticseasons:spring_greenhouse_essence",
    "Count": 1
  }
]

当前实现只会使用第一个奖励物品作为交易结果。

因此建议只填写一个奖励物品。


max_count

交易最大使用次数。

"max_count": 1

如果不填写,默认值为:

1

出现机制

季节商人交易不是必定出现。

一项交易需要同时满足:

  • 当前节气位于 startend 指定的范围内
  • 流浪商人生成交易时选中了该交易
  • 随机概率检定成功

因此,即使当前节气符合条件,也不一定每次都能看到对应交易。


用途建议

该系统适合用于提供轻量级的季节限定兑换。

常见用途包括:

  • 提供温室核心精华
  • 提供季节限定材料
  • 提供特殊资源兑换
  • 为独立玩家提供非任务线获取方式

对于整合包作者,如果已经有完整的任务或经济系统,也可以改用其他方式提供这些物品,例如:

  • FTB Quests
  • Boss 掉落
  • 服务器商店
  • 自定义战利品表

注意事项

season_quest 是历史遗留名称。

当前版本中,它本质上是季节限定流浪商人交易表,而不是完整任务系统。

旧版任务显示相关字段已经不建议继续使用。新数据包只应编写当前交易转换实际读取的字段。