关闭→
当前位置:777小游戏>客户端游戏>如何制作自定义合成配方

如何制作自定义合成配方

时间:2025-10-14 08:31:37 777小游戏 人气:1.2W

如何制作自定义合成配方,今天给大家带来的是一个可以自定义合成的东西,原理只是只是一个含有NBT标签的testforblock和setblock而已。

如何制作自定义合成配方

1.合成僵尸生怪蛋,弄到几个僵尸头,可以合成僵尸蛋了。

如何制作自定义合成配方 第2张

你是在作死吗,不仅就没有这个配方,还放到发射器里了,之后,突然被强制退出发射器的界面,可以看到它被岩浆取代了。

如何制作自定义合成配方 第3张

不到半秒钟后,发射器又回来了。

如何制作自定义合成配方 第4张

打开,可以看到僵尸刷怪蛋就合成好了。

原理

这台机器原理很简单,就是一个命令方块连着高频脉冲使用testforblock指令检测指定位置上的发射器是否装有指定物品,并且规定一定数量和正确的排列顺序。命令方块代码如下:

testforblock 458 86 -366 dispenser 3 {Items:[0:{Slot:0b,id:397s,Damage:2s,Count:1b},{Slot:1b,id:397s,Damage:2s,Count:1b},{Slot:2b,id:397s,Damage:2s,Count:1b},{Slot:3b,id:397s,Damage:2s,Count:1b},{Slot:4b,id:344s,Damage:0s,Count:1b},{Slot:5b,id:397s,Damage:2s,Count:1b},{Slot:6b,id:397s,Damage:2s,Count:1b},{Slot:7b,id:397s,Damage:2s,Count:1b},{Slot:8b,id:397s,Damage:2s,Count:1b}]}

之后当玩家放入要“合成”的配方后,命令方块输出信号,用岩浆替换发射器,因为在破坏容器时物品会掉落,所以岩浆是用来清除掉落出的物品的。之后发射器界面会被强制关闭。

setblock 458 86 -366 lava

最后1tick后,执行命令生成新的发射器并装载着合成完的物品。

/setblock 458 86 -366 dispenser 3 replace {Items:[{id:383,Count:1,Slot:0,Damage:54}]}

最后合成的流程就完成了。

应用

本机器应用真的十分广泛,如在RPG地图里可以让玩家找齐几种自定义的物品,然后合成一件道具,这些物品都可以拥有NBT标签。或者也能用在箱子上,给箱子中放指定物品就会触发机关。或者甚至可以当做密码锁,比如箱子里放7块不同颜色的羊毛,只有找到密码正确排列顺序才能解锁。

教程

总而言之,要制作这个还是需要用到Mcedit的(当然如果你是命令方块大神可以自己写代码)。这次用到的是一个把容器转换为命令方块的滤器,因为testforblock与setblock的格式十分接近,所以我们只需在setblock命令的基础上对命令进行改造就可以了。

首先,放置一个发射器。

如何制作自定义合成配方 第5张

里面装有你希望的合成配方,这个是命令方块。

如何制作自定义合成配方 第6张

然后退出游戏换Mcedit。

进入Mcedit后,先选中发射器。

如何制作自定义合成配方 第7张

然后选择滤器,找到TileEntityToCommand 。

如何制作自定义合成配方 第8张

第一行是选择生成命令方块还是命令矿车。先说X、Y、Z,代表这个命令方块生成的发射器的坐标在哪里。如果Coordinates are Relative to Command Block选了话就是他的相对坐标(命令就是~x ~y ~z),不选就是正常坐标(x,y,z),这里我没有勾选。最后一个嘛,就不要在意了。

如何制作自定义合成配方 第9张

然后点Filter,发射器就变成了命令方块,然后保存后进入游戏,把代码粘出。

以下是代码改编时间

此操作全部在Word或记事本中完成!

现在这个是原来的命令:

setblock305.5 58.0 -1809.2 23 5replace{Items:[{id:265s,Damage:0s,Count:1b,Slot:0b},{id:331s,Damage:0s,Count:1b,Slot:1b},{id:265s,Damage:0s,Count:1b,Slot:2b},{id:331s,Damage:0s,Count:1b,Slot:3b},{id:399s,Damage:0s,Count:1b,Slot:4b},{id:331s,Damage:0s,Count:1b,Slot:5b},{id:265s,Damage:0s,Count:1b,Slot:6b},{id:331s,Damage:0s,Count:1b,Slot:7b},{id:265s,Damage:0s,Count:1b,Slot:8b}],id:"Trap"}

第一步先把setblock改成testforblock,把replace删去。然后如下:

testforblock305.5 58.0 -1809.2 23 5{Items:[{id:265s,Damage:0s,Count:1b,Slot:0b},{id:331s,Damage:0s,Count:1b,Slot:1b},{id:265s,Damage:0s,Count:1b,Slot:2b},{id:331s,Damage:0s,Count:1b,Slot:3b},{id:399s,Damage:0s,Count:1b,Slot:4b},{id:331s,Damage:0s,Count:1b,Slot:5b},{id:265s,Damage:0s,Count:1b,Slot:6b},{id:331s,Damage:0s,Count:1b,Slot:7b},{id:265s,Damage:0s,Count:1b,Slot:8b}],id:"Trap"}

第二步,把,id:"Trap"注意连带之前的逗号都删掉,最终如下:

testforblock305.5 58.0 -1809.2 23 5{Items:[{id:265s,Damage:0s,Count:1b,Slot:0b},{id:331s,Damage:0s,Count:1b,Slot:1b},{id:265s,Damage:0s,Count:1b,Slot:2b},{id:331s,Damage:0s,Count:1b,Slot:3b},{id:399s,Damage:0s,Count:1b,Slot:4b},{id:331s,Damage:0s,Count:1b,Slot:5b},{id:265s,Damage:0s,Count:1b,Slot:6b},{id:331s,Damage:0s,Count:1b,Slot:7b},{id:265s,Damage:0s,Count:1b,Slot:8b}]}

然后把它粘回到命令方块里就行了

之后进入游戏,把命令方块移到别的地方,在原来的位置放一个发射器,装好预定的物品。

如何制作自定义合成配方 第10张

之后可以在命令方块后面放比较器在输入信号检测一下。

如何制作自定义合成配方 第11张

这里没有输出信号,让我们打开命令方块看一下,说是预定值为5,现在却为2。预定值指的就是加下划线的。

如何制作自定义合成配方 第12张

testforblock305.5 58.0 -1809.2 23{Items:[{id:265s,Damage:0s,Count:1b,Slot:0b},{id:331s,Damage:0s,Count:1b,Slot:1b},{id:265s,Damage:0s,Count:1b,Slot:2b},{id:331s,Damage:0s,Count:1b,Slot:3b},{id:399s,Damage:0s,Count:1b,Slot:4b},{id:331s,Damage:0s,Count:1b,Slot:5b},{id:265s,Damage:0s,Count:1b,Slot:6b},{id:331s,Damage:0s,Count:1b,Slot:7b},{id:265s,Damage:0s,Count:1b,Slot:8b}]}

这个值代表了他的基本数据,如朝向。我们把它改成2就行了。之后再拉下拉杆,就输出信号了。

如何制作自定义合成配方 第13张

然后给命令方块连上脉冲。

如何制作自定义合成配方 第14张

比较器后面的指令就是把发射器替换成岩浆。

setblock 305.5 58.0 -1809.2 11

然后后面放一个中继器,接上命令方块。红的是用来放置岩浆的。

如何制作自定义合成配方 第15张

绿的里面的命令又需要用到Mcedit,这里就不上图了,就是把发射器里面放上最终合成后的物品,然后用上方的滤器如法炮制,得到一个命令方块,把命令复制进去,不用任何修改。

setblock 305.5 58.0 -1809.2 23 2 replace {Items:[{id:137s,Damage:0s,Count:1b,Slot:0b}],id:"Trap"}

原文来源:mcbbs

TAG标签:#自定义 #我的世界 #