本篇教程由作者设定未经允许禁止转载。

前言

匠魂3比起匠魂2来说,材料少了很多。例如有一次我想做赛特斯石英部件,结果在部件制作台上不能制作部件,甚至没有一个附属联动。正所谓“自己动手,丰衣足食”,那么,kubejs就是你的不二之选。

第一部分:注册材料

路径

在确认您装载kubejs且至少启动过一次游戏后,就让我们看注册部件的路径。

\kubejs\data

在这个路径下先创建一个文件夹,注意名字必须为英文,然后在这个文件夹下再创建一个名为“tinkering”的文件夹,然后在这个文件夹中再创建一个名为“materials”的子文件夹,最后再在里面创建3个子文件夹,分别命名为“definition”,“stats”和“traits”。

如图,这里的第一个文件夹以kubejs为例。不要在意我为啥有versions[1.18.2]如何使用kubejs自创匠魂材料?(暂停更新)-第1张图片

注册材料

首先打开你的definition文件夹,这里是存放材料定义的。在里面创建一个xxx.json文件,这里的xxx可以填写任何名字,(除了中文)例如"certus_quartz"。

{
    "craftable": true,
    "tier": 1,
    "sortOrder": 1,
    "hidden": false
}

上面的是一个定义文件的格式,我们来逐个讲解。

"craftable":是否在部件制作台上制作

"tier":材料等级

"sortOrder":材料在手册中的位置(可以随便填,最好不要过大)

"hidden":是否隐藏

材料面板

将这些填写好后,就得写面板了

在你的stats文件夹创建一个与之前名字一样的.json文件

{
    "stats": {
      "tconstruct:extra": {},
      "tconstruct:handle": {
        "durability": 1.2,
        "miningSpeed": 1.0,
        "attackSpeed": 0.9,
        "attackDamage": 1.1
      },
      "tconstruct:head": {
        "durability": 150,
        "miningSpeed": 4,
        "harvestTier": "minecraft:stone",
        "attack": 2
      },
      "tconstruct:limb": {
        "durability": 150,
        "drawSpeed": -0.1,
        "velocity": 0.1,
        "accuracy": 0.1
      },
      "tconstruct:grip": {
        "durability": 1.2,
        "accuracy": 0,
        "meleeAttack": 2
      }
    }
  }

上面的是一个面板文件的格式,是不是很长?没事,让我们来逐个讲解:

手柄

"tconstruct:handle":手柄面板

"durability":耐久系数

"miningSpeed":挖掘速度系数

"attackSpeed":攻击速度系数

"attackDamage":攻击伤害系数

顶端

"tconstruct:head":顶端面板

"durability":耐久

"miningSpeed":挖掘速度

 "harvestTier":采掘等级

 "attack":攻击伤害

弓臂

"tconstruct:limb":弓臂面板

"durability":耐久

"drawSpeed":拉弓速度

"velocity": :初速度

 "accuracy": 精确度

弓把

"tconstruct:grip":弓把面板

"durability":耐久系数

"accuracy":精确度

"meleeAttack":攻击伤害

假如你想要一个部件只能做近战?那就可以把弓臂和弓把删除,想只能做远程同理

材料特性

在你的traits文件夹下创建一个与之前名字一样的.json文件

特性可以填写你想要的任何特性,不限数量,附属的也可以(前提是你装了相对应的附属)

这里我以工匠匠心的晶态为例

{
    "default": [
        {
            "name": "tinkers_ingenuity:crystalline",
            "level": 1
        }
    ]
}

"name":特性的注册名

"level":特性的等级

如果你按照前面的一步一步做了的话,那么大概率在对应的等级分区可以找到你所写的材料,但是此时的材料只有空戳戳一个面板,那么如何才能让它变成一个正常能够使用的匠魂材料呢?请看下文

第二部分:材料的制作——部件制作台合成及浇筑

首先就是进行部件合成台合成,这个合成是与你的修复配方绑定的,不需要重新写一个修复配方的文件,如果你不想进行部件合成台合成,只想要修复的话可以将前文中所提到的“craftable”后的“true”改成“false”。

下图则为修复/部件合合成台合成的文件路径

[1.18.2]如何使用kubejs自创匠魂材料?(暂停更新)-第2张图片

在你的fix文件夹(这个文件夹可以改为任何名字,除了中文)下创建一个.json文件,无需与前面的名字一样,只要你能够分清楚就可以。(此后我若无特殊说明皆为与之前名字一样的.json文件)

{
    "type": "tconstruct:material",
    "ingredient": {
    "tag":"ae2:all_certus_quartz"
    },
    "value": 1,
    "needed": 1,
    "material": "kubejs:certus_quartz"
        "leftover": {
      "tag": "graveyard:dark_iron_ingot"
    }
  }

那么这些需要注意的前缀如下:

 "tag":修复/制作所需的物品tag,如无tag则改为"item"。

"value":相当于物品的“价值”,修复/制作后返还的物品数量由这个管理。

"needed":修复/制作部件所需物品的数量。

"material":前文你所注册的材料,格式为"kubejs:xxx",“xxx”则为前文你所注册的文件名。

"leftover":修复/制作后返还的相应物品。