本教程适用于——1.16和1.18,且拥有数据包基础的人员。
本教程来源于wiki,由于wiki是英文的,故在此汉化。
创建一个最基础的机器:
json文件
自定义机器 json 应位于datapacks/<数据包名>/data/<namespace>/machines/my_machine.json。
机器名称应全部小写,不含空格或字母和数字以外的任何其他字符,但可以使用“_”或“/”。
游戏中加载的每台机器都应该有不同的 ID,在上面的示例中,机器 ID 是:namespace:my_machine。
你可以将任意数量的机器放在同一命名空间下,也可以将它们分开。
你还可以使用子文件夹,例如:datapacks/<数据包名>/data/<namespace>/machines/tier1/my_machine.json,那么机器 ID 将是namespace:tier1/my_machine。
请记住,所有机器的 json 都应位于machines文件夹下。
机器特性
机器的 json 有2个必须选择的属性和5个可选的属性。
必选属性
名称:name
说明:
这是机器的显示名称,不要和机器的ID搞混淆。该名称会显示在玩家的手中,JEI,或放置在世界上的显示(如The One Probe)。
该名称允许使用minecraft可以显示的字符串。也可以使用lang key或者文本组件用于自定义字体。
例子:
//最基础的名称:
"name": "我的机器"
//Lang key
"name": "machine.example.cool"
//文本组件
"name": {
"text": "我的机器",
"color": "red"
}
外观:appearance
由于外观自定义过多,请翻阅外观篇的介绍。
可选属性
物品提示:tooltips
说明:
当玩家的光标悬停在该机器物品上时,显示出物品提示信息。此提示可以是普通的字符串,或者文本组件。列表中的每个提示都会显示在下一行中。
例子:
//基础的提示:
"tooltips": "这是一个很酷的机器"
//列表提示:
"tooltips": ["这是一个很酷的机器", "你应该试试"]
//文本组件
"tooltips": [
{
"text": "这是一个很酷的机器",
"color": "red"
},
{
"text": "你应该试试",
"bold": true
}
]
机器组件:components。
GUI:gui。
JEI:jei。
催化剂:catalysts。
这四个由于篇幅过多,因此分割到了不同的教程之中,详情请翻阅组件篇,机器GUI篇,机器JEI篇。
空的机器模板
以下是一个含有所有属性的机器空模板:
{
"name": "",
"appearance": {},
"tooltips": [],
"components": [],
"gui": [],
"jei": [],
"catalysts": []
}
此外,如果你需要一个完整的机器模板,你可以前往这里翻阅官方基于的基础机器。