下面是我弄的一条指令:
(更上面的差不多就是把金淀换成绿宝石)
execute @p ~ ~ ~ /testforblock ~ ~-1 ~ dispenser 1
{Items:[0:{Slot:0b,id:"minecraft:iron_ingot",Count:1b,Damage:0s,},1:{Slot:1b,id:"minecraft:emerald",Count:1b,Damage:0s,},2:{Slot:2b,id:"minecraft:iron_ingot",Count:1b,Damage:0s,},3:{Slot:3b,id:"minecraft:emerald",Count:1b,Damage:0s,},4:{Slot:4b,id:"minecraft:diamond",Count:1b,Damage:0s,},5:{Slot:5b,id:"minecraft:emerald",Count:1b,Damage:0s,},6:{Slot:6b,id:"minecraft:iron_ingot",Count:1b,Damage:0s,},7:{Slot:7b,id:"minecraft:emerald",Count:1b,Damage:0s,},8:{Slot:8b,id:"minecraft:iron_ingot",Count:1b,Damage:0s,},],id:"Trap",Lock:"",}
注意命令方块上面不要放红石
在命令方块旁边放一个比较器
连一个红石
那么现在你朝上放一个发射器,里面塞上你的合成表
比较器应该会亮
没有就看看你哪里出错了
接下来在比较器前的红石下放命令方块
回到发射器
往里面放你想合成出的东西
我放了一个下界之星,
名字:神奇的下界之星,lore:666,特殊属性:攻击+5
重复之前的事得到一段nbt
在那个红石下面的空命令方块里输:
/execute @p ~ ~ ~ /blockdata ~ ~-1 ~ <复制的NBT>
同样去掉xyz
我的:
/execute @p ~ ~ ~ /blockdata ~ ~-1 ~
{x:594,y:56,z:231,Items:[0: {Slot:4b,id:"minecraft:nether_star",Count:1b,tag:{display:{Lore: [0:"666",],Name:"神奇的下界之星",},AttributeModifiers:[0: {UUIDMost:1301955453,UUIDLeast:1301955453,Amount:5,AttributeName:"generic.attackDamage",Operation:0,Name:"Attack",},],},Damage:0s,},],id:"Trap",Lock:"",}
那么现在站到一个放了合成表的发射器上,里面就是合成出来的物品了
其他:
你可以在合成结束是触发一些事,比如一段话,粒子效果,一个生物
方法是在连比较器的红石前放一个命令方块,里面直接打指令
你也可以制作多个合成表,当合成表冲突时
先合成的是里高频近的
bug:
如果你的合成表没有覆盖9个格子
合成时在其他地方放了物品,继续摆
合成后物品会消失
修改方法:只要在第一个命令方块中将空白的地方写上air就行了
更多相关资讯请关注:我的世界专题