研究站

研究站

一个简单的研究系统

title image

此模组添加了一个类似于《古代战争2》中的研究系统。

你将使用研究站进行研究,并使用工程站来制作已研究的物品。

工程站也可用于常规制作,并支持 JEI。

创建研究定义:

每个研究都由 config/researches/ 中的一个 JSON 文件定义。该目录应在首次运行时创建,或者你可以自行创建。JSON 文件会按文件名的字母顺序加载并显示在研究书中,因此如果你想将研究分组或排序,可以给它们类似的文件名,如 mymodresearch001、mymodresearch002。

这是一个示例研究定义:

{
      "id": "示例研究 1",
      "ticksRequired": 100,
      "requiredResearches": [],
      "requiredItems": [
        {
          "id": "c:ingots/iron",
          "amount": 4
        }
      ]
}

它没有必需的研究,需要 4 个铁锭来解锁。完成它需要 100 个 tick。

这是另一个研究,它需要“示例研究 1”已完成:

{
      "id": "示例研究 2",
      "ticksRequired": 300,
      "requiredResearches": [
        "示例研究 1"
      ],
      "requiredItems": [
        {
          "id": "minecraft:string",
          "amount": 128
        }
      ]
}

创建研究制作配方:

每个研究制作配方都由 config/research_recipes 中的一个 JSON 文件定义。该目录也应在首次运行时创建。以下是一个配方示例:

{
      "requiredResearch": "示例研究 1",
      "output": {
        "id": "minecraft:dirt",
        "amount": 10
      },
      "pattern": [
        "   ",
        "ABA",
        "   "
      ],
      "keys": {
        "A": {
          "input": { "id": "c:ingots/iron", "amount": 2 }        
        },
        "B": {
          "input": { "id": "minecraft:string", "amount": 1 }
        }
      }
    }

pattern 应始终为 3x3。研究配方支持每个槽位消耗多个物品。

它们还支持将使用的物品转换为新物品,例如,如果你想使用一个水桶并返还一个空桶。它看起来类似这样,注意我在配方中添加了 onComplete:

{
      "requiredResearch": "示例研究 2",
      "output": {
        "id": "minecraft:diamond",
        "amount": 10
      },
      "pattern": [
        "   ",
        "ABA",
        "   "
      ],
      "keys": {
        "A": {
          "input": { "id": "c:ingots/gold", "amount": 2 },
          "onComplete": { "id": "minecraft:stone", "amount": 1 }
        },
        "B": {
          "input": { "id": "minecraft:string", "amount": 1 }
        }
      }
    }

此配方将消耗总共 4 个金锭(每个 'A' 消耗 2 个),并产出总共 2 个石头(每个 'A' 产出 1 个)。