material - CHanzyLazer/gregtech6-CH_Edition GitHub Wiki

物品含有材料修改

主要为物品设置自定义材料,拥有材料的物品 GT6 会自动生成对应材料的合成表,例如坩埚合成,粉碎机的合成等等

由于 GT6 api 的特性,不能在原有的材料基础上添加材料,而是直接覆盖的形式

IM_InitIM_PostInit 两种设置模式,分别对应在模组初始化时期后初始化时期设置。 在初始化时期设置后,后续时期的设置材料(例如合成表自动设置材料)会失效,相当于直接覆盖原本的材料; 在后初始化时期设置后,如果物品已经有材料则此设置会失效,是一种比较保险的设置方法。

由于机器数据添加的合成表可能不会成功添加材料,所以会存在一些默认的附加材料项目,都会放在后初始化时期设置,可以避免一些问题。

格式为:

{
  "IM_Init":[],
  "IM_PostInit":[
    {
      "data":["WoodTreated:8.0"],
      "item":"gregtech:gt.multitileentity:24803"
    },
    {
      "data":["Iron:5.0", "Wood:8.0"],
      "item":"minecraft:hopper"
    }
  ]
}

其中 item 项为想要设置材料的物品名,名称格式和 CraftTweaker 一致

data 项为想要设置的材料列表,支持设置多个材料,冒号:分割,冒号前为材料名称,可以参考 GT6 自动生成的材料名 .minecraft\config\gregtech\materiallist.log;冒号后为材料数量,支持浮点数输入,与 tooltip 显示的材料数目相同

同样由于 GT6 的设置材料的机制,对于同一个物品,先设置的会覆盖后设置的

如果需要移除某个物品的所有材料,则需要在 IM_Init 中为其添加名为 NULL 的材料即可,即在原本的材料添加前就注册了 NULL 材料,则后续的材料添加都会失效。如下:

{
  "IM_Init":[
    {
      "data":["NULL:0.0"],
      "item":"gregtech:gt.multitileentity:10041"
    }
  ],
  "IM_PostInit":[]
}