本篇教程由作者设定未经允许禁止转载。
以下为创造一台机器的全部流程。
〇. 数据包的创建
关于数据包基础教程请参考这位大大的视频:https://space.bilibili.com/166572139?spm_id_from=333.788.b_765f7570696e666f.1 (可以下载一个1.16数据包作为参考)
一. 添加方块
请先前往 config/masterful_machinery/controllers 文件夹新建.json文件(可以去别的地方复制一个,然后清空),然后参考以下代码:
{
"controllerId": "basic",
"name": "Basic",
"textureOverride": "minecraft:block/cactus_side",
"ports": [
{
"type": "masterfulmachinery:items",
"textureOverride": "minecraft:block/melon_side",
"name": "Basic Item",
"id": "basic",
"data": {
"rows": 3,
"columns": 3
}
},
{
"type": "masterfulmachinery:energy",
"name": "Basic Energy",
"id": "chungus",
"data": {
"capacity": 1000000000
}
},
{
"type": "masterfulmachinery:fluids",
"name": "Small Fluid",
"id": "small",
"data": {
"capacity": 10000
}
},
{
"type": "masterfulmachinery:mekanism_gas",
"name": "Gassy",
"id": "gassy",
"data": {
"capacity": 100000
}
},
{
"type": "masterfulmachinery:mekanism_slurry",
"name": "MekSlurry",
"id": "mekslurry",
"data": {
"capacity": 1000000
}
},
{
"type": "masterfulmachinery:create_rotation",
"name": "Spinny",
"id": "spinny",
"data": {
"stress": 1
}
},
{
"type": "masterfulmachinery:pncr_pressure",
"name": "Air",
"id": "air",
"data": {
"volume": 5000,
"dangerPressure": 15,
"criticalPressure": 30
}
},
{
"type": "masterfulmachinery:astral_starlight",
"name": "Astral",
"id": "star",
"data": {
"capacity": 1000
}
}
]
}
以上述代码为例:
“type”为输入输出的类型,如item(物品),fluid(流体),energy(FE)等;
“textureOverride”为对应方块的材质,可以按格式自定义(可以不加,默认为石头材质);
“name”为方块名称,可随意填写;
“id”为方块的注册名必须使用小写字母;
“data”为内部的容量,当类型为物品时“row”和“columns”分别为仓内的行和列,当类型为其它时“capacity”为仓内的容量;
其余的输入类型,如气体,浆液等请参考http://wiki.ticticboooom.live/t/example 。
二. 添加结构
新建一个数据包后,前往 (你数据包的名字)/data/mm/recipes/structures(全部新建的文件夹名称均不能改) 添加一个.json文件(这里使用的数据包知识不再赘述),参考以下代码:
{
"type": "masterfulmachinery:machine_structure",
"controllerId": "basic",
"id": "example_structure",
"name": "Master Machine",
"layout": [
[
"AAA",
"AAA",
"AAA"
],
[
"BIB",
"OFE",
"BCB"
],
[
"SSS",
"SSS",
"SSS"
]
],
"legend": {
"A": {
"block": "minecraft:cobblestone"
},
"S": {
"block": "minecraft:stone"
},
"B": {
"block": "minecraft:oak_log"
},
"F": {
"block": "minecraft:furnace"
},
"E": {
"block": "masterfulmachinery:basic_small_fluids_output"
},
"I": {
"block": "masterfulmachinery:basic_basic_items_input"
},
"O": {
"block": "masterfulmachinery:basic_small_fluids_input"
}
}
}
以上为例:
“type”不能修改;
“controllerid”为上一模块你定义的controllerid;
“id”为机器的注册名,必须使用小写字母或者下划线;
“name”为机器名称,可自定义;
接下来的代码可以自动生成,具体方法:
1 进入你添加数据包的存档,搭建你喜欢的机械结构 ;
2 在物品栏内找到structure scanner这两个物品(一个是可以放置的方块,一个是工具) ;
3 使用structure scanner(工具)右击机械的对角线的两个端点,并把工具放在structure scanner(方块)里,这时可以显现你勾选的范围 ;
4 点击gui里的那段英文,这段代码存储在你的粘贴板里了,粘贴下来即可。
三. 创建配方
前往 (你数据包的名字)/data/mm/recipes 新建.json文件,参考以下代码:
{
"type": "masterfulmachinery:machine_process",
"structureId": "example_structure",
"controllerId": "basic",
"ticks": 100,
"inputs": [
{
"type": "masterfulmachinery:items",
"data":{
"items": "minecraft:white_wool",
"count": 2
}
}
],
"outputs":[
{
"type": "masterfulmachinery:items",
"data":{
"item": "minecraft:string",
"count": 4
}
}
]
}
以上为例(配方为输入两个白色羊毛,输出四个线):
“type”不能修改;
“structureId”为你上一模块的机械注册名;
“controllerId”为你上上模块的控制器注册名;
“ticks”为机器工作时间(20t=1s);
“input”为输入其中“type”为输入类型,“item”为物品注册名,“count”为输入数量;
“output”为输入其中“type”为输出类型,“item”为物品注册名,“count”为输出数量;
其余的输入输出类型,如气体,浆液等请参考http://wiki.ticticboooom.live/t/example 。
四. 结语
每次完成修改后记得输入指令/reload或者退出重进,否则修改无法呈现。如果无法成功添加要检查语法(https://www.sojson.com/ )并检查有没有拼写错误,以上代码不确定正确性请以https://github.com/TicTicBoooom-Mods/MasterfulMachinery/wiki/Examples 为主。希望以上教程可以帮助大家完成心爱的机械。