凯蒂的食谱配置插件

凯蒂的食谱配置插件

除了HyTalor之外,这个模组还创建了一个单独的配置文件,允许玩家和服务器修改游戏中每个可制作物品的配方。

早期插件

Katie 的配方配置

[注意:此模组需要 Hytalor 才能运行!没有 Hytalor,此模组将不起作用]

这是一个 Hytale 服务器插件,允许你自定义制作配方,而无需触碰任何游戏代码。在首次启动时,它会自动为游戏中每个可制作的物品生成一个配置快照——包括材料、数量和制作台要求——并将其保存为易于编辑的文件。只需修改配置文件来添加、移除或替换材料,然后重启服务器即可应用你的更改。

该插件构建在 Hytalor 的补丁系统之上,更改会在启动时干净地应用。将来更新添加的新物品会自动合并到配置文件中,而不会覆盖你现有的自定义设置。

功能:

  • 首次运行时自动生成完整的配方配置
  • 通过 JSON 修改材料和制作台要求
  • 非破坏性:新物品会自动合并,不会重置你的编辑内容
  • 内置对 Katie 的 BlocksNTrees 模组的支持

需要:Hytalor ≥ 2.2

Katie 的配方配置 —— 使用示例

此示例演示了使用该模组的完整流程:从首次启动,到找到特定物品,再到进行更改和重新加载存档。

目标:使粗糙箭矢可以在 田野工艺 工作台上制作,并将每次制作的产出从 4 支增加到 16 支


步骤 1 — 首次启动

启动安装了该模组的 Hytale 服务器。在首次启动时,模组还没有配置文件,因此它会扫描游戏中每个可制作的物品,并将两个文件写入你的 save\{saveName}\mods data 文件夹:

  • recipes_config.json — 每个可制作物品对应一个条目(约 1269 个条目)
  • item_search.json — 用于过滤哪些物品会出现在配置中

本次启动仍然使用原版配方。尚未应用任何更改。


步骤 2 — 使用 item_search.json 缩小范围

直接打开包含 1269 个条目的 recipes_config.json 会让人不知所措。使用 item_search.json 将其限制为你想要编辑的物体。

打开 item_search.json 并添加你想处理的物品 ID:

{
  "$instructions": [
    "在此处添加物品 ID,将配置文件限制为仅包含这些物品。",
    "示例:[\"Weapon_Arrow_Crude\", \"Weapon_Sword_Crude\"]",
    "将 'items' 留空以包含所有可制作物品(默认)。",
    "更改将在下次服务器启动时生效。"
  ],
  "items": ["Weapon_Arrow_Crude","Weapon_Sword_Crude",[其他...]]
}

步骤 3 — 重启服务器

重启时,模组会读取你的搜索过滤器,并将 recipes_config.json 缩减为仅包含 Weapon_Arrow_Crude。文件现在看起来像这样,准确反映了游戏定义的原版箭矢配方:

{
  "Weapon_Arrow_Crude": {
    "_BaseAssetPath": "Server/Item/Items/Weapon/Arrow/Weapon_Arrow_Crude.json",

    "_allIngredients": [
      { "ItemId": "Ingredient_Stick" },
      { "ResourceTypeId": "Rubble" }
    ],
    "_allBenchRequirements": [
      { "Id": "Workbench" },
      { "Id": "Weapon_Bench" }
    ],
    "_allOutputs": [
      { "ItemId": "Weapon_Arrow_Crude" }
    ],

    "Recipe": {
      "OutputQuantity": 4,
      "Input": [
        {
          "_find": { "ItemId": "Ingredient_Stick" },
          "_op": "merge",
          "Quantity": 4
        },
        {
          "_find": { "ResourceTypeId": "Rubble" },
          "_op": "merge",
          "Quantity": 1
        }
      ],
      "Output": [
        {
          "_find": { "ItemId": "Weapon_Arrow_Crude" },
          "_op": "merge",
          "Quantity": 4
        }
      ]
    },

    "BenchRequirement": [
      {
        "_find": { "Id": "Workbench" },
        "_op": "merge",
        "Categories": [ "Workbench_Survival" ]
      },
      {
        "_find": { "Id": "Weapon_Bench" },
        "_op": "merge",
        "Categories": [ "Weapon_Bow" ]
      }
    ]
  }
}

请勿编辑 _BaseAssetPath_allIngredients_allBenchRequirements_allOutputs

这些是模组内部使用的只读参考字段。


步骤 4 — 进行更改

编辑 recipes_config.json 以应用你想要的更改。

在此示例中:

  • OutputQuantity4 更改为 16
  • Output 数组中的 Quantity 已相应更新
  • Fieldcraft 已添加到 BenchRequirement,类别为 Tools

(你也可以添加或移除材料,本示例中未展示,但概念相同)

{
  "Weapon_Arrow_Crude": {
    "_BaseAssetPath": "Server/Item/Items/Weapon/Arrow/Weapon_Arrow_Crude.json",

    "_allIngredients": [
      { "ItemId": "Ingredient_Stick" },
      { "ResourceTypeId": "Rubble" }
    ],
    "_allBenchRequirements": [
      { "Id": "Workbench" },
      { "Id": "Weapon_Bench" }
    ],
    "_allOutputs": [
      { "ItemId": "Weapon_Arrow_Crude" }
    ],

    "Recipe": {
      "OutputQuantity": 16,
      "Input": [
        {
          "_find": { "ItemId": "Ingredient_Stick" },
          "_op": "merge",
          "Quantity": 4
        },
        {
          "_find": { "ResourceTypeId": "Rubble" },
          "_op": "merge",
          "Quantity": 1
        }
      ],
      "Output": [
        {
          "_find": { "ItemId": "Weapon_Arrow_Crude" },
          "_op": "merge",
          "Quantity": 16
        }
      ]
    },

    "BenchRequirement": [
      {
        "_find": { "Id": "Workbench" },
        "_op": "merge",
        "Categories": [ "Workbench_Survival" ]
      },
      {
        "_find": { "Id": "Weapon_Bench" },
        "_op": "merge",
        "Categories": [ "Weapon_Bow" ]
      },
      {
        "_find": { "Id": "Fieldcraft" },
        "_op": "merge",
        "Categories": [ "Tools" ]
      }
    ]
  }
}

步骤 5 — 重启服务器

下次重启时,模组会读取你编辑过的配置文件,写入一个 Hytalor 补丁文件,并应用更改。粗糙箭矢现在可以在田野工艺工作台上制作,并且每次制作能获得 16 支箭矢,而非 4 支。

参考 — 你可以更改的内容

字段 作用
Recipe.OutputQuantity 制作出的物品数量
Recipe.Input 材料列表 — 删除或添加条目以更改配方
BenchRequirement 工作台列表 — 删除条目以移除该工作台,添加新条目以增加工作台

参考 — 你不能更改的内容

  • 在游戏原版中没有配方的物品的配方
  • 主要的制作物品(一个配方总是生产它所属的物品)
  • _BaseAssetPath_allIngredients_allBenchRequirements_allOutputs — 只读字段,请勿编辑