Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

基于kubejs6的机械动力魔改

lmaikuai

Administrator
管理成员
注册
05 19, 2026
消息
11
本教程需要一定的kubejs基础
请勿直接将本文的代码复制粘贴,否则会出现引号错误或是空格错误的情况
事前准备
首先请确认你的模组文件夹内有以下模组:
Hidden Content
Please log in or register to view this content.
Hidden Content
Please log in or register to view this content.
Hidden Content
Please log in or register to view this content.
Hidden Content
Please log in or register to view this content.

并且你的设备中安装了vscode
如果你在教程中发现了错误的地方或是有什么建议请在评论区指出
开始编写代码

启动你的minecraft,这时你会发现版本文件夹下多出了kubejs文件夹,我们接下来的工作都要在这里面进行。
在游戏中输入/probejs dump并将你的kubejs文件夹用vscode打开
在sever_scripts文件夹中创建一个XXX.js文件,或在文件夹中创建文件夹并在创建的文件夹中创建文件(好绕啊)

如果你不想自动添加配方(石磨自动添加粉碎轮配方,工作台合成自动添加动力合成器配方等),请在配方 ID 的末尾添加:manual_only
例:


event.recipes.create.milling('minecraft:wet_sponge', ['minecraft:sponge']).id('命名空间:***_manual_only')
[td width="auto"]
1​
[/td]

示例

ServerEvents.recipes(event =>{

})
[td width="auto"]
1
2
3​
[/td]

这是一个固定搭配,不论是添加配方或是移除配方都必须写,下文的所有代码都必须写在大括号/花括号中间

const {create} = event.recipes
[td width="auto"]
1​
[/td]

这一段这么写是因为接下来会更方便我们去边写代码,你也可以不这么做,那么你接下来要记得替换
辊压机
动力辊压机(机械动力6.0.0及以后版本翻译为动力冲压机)分为压块塑形和金属压片
压块塑形


泥土被压一下变成草方块无中生草


create.compacting("minecraft:grass_block","minecraft:dirt")
[td width="auto"]
1​
[/td]

前面的是输出,后面的是输入

动力辊压机也可以加热或者超级加热

create.compacting("minecraft:grass_block","minecraft:dirt").heated()
//加热
create.compacting("minecraft:grass_block","minecraft:dirt").superheated()
//超级加热
[td width="auto"]
1
2
3
4​
[/td]


同时动力辊压机也可以输出流体

岩浆被压一下变成水


create.compacting(fluid.water(1000),fluid.lava(1000))
[td width="auto"]
1​
[/td]


同时辊压机可以进行概率输出与多种物品输出

压沙砾100%输出燧石,10%输出钻石


create.compacting(["minecraft:flint",Item.of("diamond").withChance(0.1)],"minecraft:gravel")
[td width="auto"]
1​
[/td]

withChance中的概率1为100%,0.1为10%,以此类推

金属压片
泥土通过压片变成草方块

create.pressing("minecraft:dirt","minecraft:grass_block")
[td width="auto"]
1​
[/td]

可以看见与压块没有什么太大的区别,仅仅只是将“compacting”替换成了“pressing”,其余都相同。

搅拌器
搅拌器支持多个输入输出,概率输出,加热和超级加热
泥土加水搅拌成草方块


create.mixing("minecraft:grass_block",[fluid.water(1000),"minecraft:dirt"])
[td width="auto"]
1​
[/td]

可以看见与压块没有什么太大的区别,仅仅只是将“compacting”替换成了“mixing”,其余都相同。

鼓风机
鼓风机只能更改水洗和缠魂,因为鼓风机熔炼和烟熏自动绑定高炉和烟熏炉,想要添加请添加高炉/烟熏炉配方
鼓风机支持多物品输出和概率输出
水洗

水洗草方块获得泥土

create.splashing("minecraft:dirt","minecraft:grass_block")
//前输出,后输入
[td width="auto"]
1
2​
[/td]

缠魂
缠魂泥土获得灵魂土

create.haunting("minecraft:soul_soil","minecraft:dirt")
//前输出,后输入
[td width="auto"]
1
2​
[/td]


石磨
石磨支持多物品输出以及概率输出
磨砂土获得2*泥土


create.milling(Item.of('minecraft:dirt',2),'minecraft:coarse_dirt')
//前输出,后输入
[td width="auto"]
1
2​
[/td]


粉碎轮
粉碎轮支持添加处理时间(可选)
粉碎砂土获得2*泥土


create.crushing(Item.of('minecraft:dirt',2),'minecraft:coarse_dirt).processingTime(20*200)
//前输出,后输入
[td width="auto"]
1
2​
[/td]


注液器
注液器需要输入物品,输入流体,输出物品
泥土注入水获得草方块


create.filling("minecraft:grass_block",["minecraft:dirt",Fluid.of('minecraft:water',1000)])
//前输出物品,中输入物品,后输入流体
[td width="auto"]
1
2​
[/td]


分液池
分液池与注液器相反,它需要输入物品,输出流体,输出物品
草方块分液出泥土和水


create.emptying([Fluid.of('water',1000),'minecraft:dirt'],'minecraft:grass_block')
//前输出流体,中输出物品,后输入物品
[td width="auto"]
1
2​
[/td]


动力锯
动力锯支持多个输出和概率输出,并且自定义支持处理时间
锯西瓜获得6*西瓜片


create.cutting(Item.of('minecraft:melon_slice',6),'minecraft:melon')
//前输出,后输入
[td width="auto"]
1
2​
[/td]


机械手
机械手支持多个输出和概率输出
小齿轮安装木板变成大齿轮


create.deploying('create:large_cogwheel',['create:cogwheel','minecraft:oak_planks'])
//这里前面是输出,中间是被安装的,后面是机械手上面拿的,不要搞混了
[td width="auto"]
1
2​
[/td]

或者不消耗机械手上的物品

create.deploying('create:large_cogwheel',['create:cogwheel','minecraft:oak_planks']).keepHeldItem
[td width="auto"]
1​
[/td]


砂纸
砂纸支持概率输出
氧化铜块磨成铜块


create.sandpaper_polishing('minecraft:copper_block','minecraft:oxidized_copper')
//前输出,后输入
[td width="auto"]
1
2​
[/td]


动力合成器
动力合成器和工作台类似,但是比工作台大,最多支持9*9的合成表

create.mechanical_crafting('minecraft:spawner',
//输出
[
"IBBI",
"B B",
"B B",
"IBBI"
],
//合成配方
{
I:"minecraft:iron_ingot",
//铁锭
B:"minecraft:iron_bars"
//铁栏杆
}
//字母所代表的物品
)
[td width="auto"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17​
[/td]


序列组装
序列组装会有半成品出现,例如半成品精密构件,所以我们需要先来指定一个半成品。官方文档给出的建议是使用半成品精密构件,因为它没有配方,当然你也可以用别的。这里我使用半成品精密构件来演示

const incomplete = 'create:incomplete_precision_mechanism'(可选,选了会方便,不选的记得替换)

create.sequenced_assembly(
[
Item.of("dirt").withChance(0.1),
Item.of("oak_planks").withChance(0.9)
],
//输出列表,最上面的为主产物,下面的为副产物
'minecraft:oak_log',
//输入物品
[
//参与的机器,有四种可选
//输入输出物品均为半成品物品
//机械手,可物品不消耗
//动力锯
//注液器
//辊压机
create.deploying(incomplete,[incomplete,'minecraft:grass_block']).keepHeldItem(),
create.cutting(incomplete,incomplete),
create.filling(incomplete,[incomplete,Fluid.water(1000)]),
create.pressing(incomplete,incomplete)
]
)
.transitionalItem(incomplete)
//半成品物品
.loops(10)
//循环次数,默认为5
[td width="auto"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27​
[/td]
 
最后编辑:
后退
顶部