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

话不多说,直接开始


一:为什么关联了kubejs

kubejs内置的数据包功能可以很方便的添加/管理你的数据包(data文件夹),出错了也可以很快速的知道你哪写的出了点问题

当然,如果你不想添加kubejs,也可以撰写属于你的数据包


二:正文

1:如何修改/添加现有材料数据

使用如7z等解压软件打开tetra的jar文件,在:

data\tetra\materials\目录下可添加材料文件

(你看到的里面那些文件夹是为了分类,如果你是要进行大型魔改等,还是做好分类为好,以防后期魔改内容过多导致找啥材料都找不到)

例如我们要修改骨头的属性,就需要去bone文件夹下,找到bone.json,打开它,你会看到如下内容(其余材料同理)

{
  "key": "bone",
  "category": "bone",
  "primary": 5,
  "secondary": 1.9,
  "tertiary": 4.5,
  "durability": 120,
  "integrityCost": 1,
  "integrityGain": 5,
  "magicCapacity": 108,
  "toolLevel": "minecraft:stone",
  "toolEfficiency": 4.5,
  "tints": {
    "glyph": "bone_glyph",
    "texture": "bone"
  },
  "textures": [ "bone", "crude" ],
  "material": { "items": [ "minecraft:bone" ] },
  "requiredTools": { "hammer_dig": "minecraft:wood" }
}

其中:

key是物品的标识符(其实当成命名就行,后面汉化章节要讲)

category为物品的类别(类别命名就是你在materials目录下看到的那些文件夹)

primary 为硬度   secondary为密度  tertiary为韧性

durability为耐久 

integrityCost为所消耗的完整度

integrityGain为获得的完整度

toolLevel为挖掘等级

toolEfficiency为挖掘效率

magicCapacity为物品的魔法容量

tints为物品的纹理效果(这个通常照着案例写就行,个人感觉影响不大)

或者你可以这么写:

"tints": {
    "glyph": "FF3030",
    "texture": "FF3030"
  },

其内填颜色代码(不需要带#)

  "effects": {
    "XXX": <里面填数字>,
  },

这代表着物品效果(例如末影回响)需要自定义属性样式的可以去wiki查看:tetra Wiki

requiredTools为制作它所需的锻造等级(需要填材料,而不是数字)

例如:

  "requiredTools": {
    "hammer_dig": "minecraft:netherite_ingot"
  }

为需要下界合金级的锤子/锻造等级

"material": {
    "items": [ "<内填物品id>" ]
  }

这里填的是你想要添加物品/修改物品的材料id


二:汉化  使用kubejs汉化你的材料/数据包同理

创建一个这么个路径的文件\assets\tetra\lang\zh_cn.json(填你需要的语言)

或者你把tetra的zh_cn.json拿过来丢这也行(推荐)

汉化例子:

"tetra.material.ssbs.prefix": "神圣宝石", 
"tetra.material.ssbs": "神圣宝石",

拆解开来就是:

 "tetra.material.<你的“key”里写的什么,这里就填什么>.prefix": "<你需要的汉化>", (锻造后的武器名称)

 "tetra.material.<你的“key”里写的什么,这里就填什么>": "<你需要的汉化>" (全息球内能看见的语言)