我的世界中很多道具物品都需要合成,合成物品的公式是必须的,下面小编就来给大家介绍一下我的世界1.8原版自定义合成方法以及合成表一览,希望能帮助各位玩家!
合成表一览:
版本要求1.8
优点:
自定义
合成表数量可以很大
合成表可以很复杂
没有名字、NBT不会合成
自定义合成物品NBT
这个东西非常的简单,
只需要几个命令方块就行了。
首先想法是:
原版的工作台不能使用因为没办法修改
所以需要用别的东西来代替工作台
那么就需要用别的东西储存物品数据
最合适的是发射器和投掷器
因为这俩的页面和工作台类似
(就是说你用箱子也可以就是看着不爽)
因为命令方块如果要让所有发射器或者投掷器都检测数量会很多
也有可能把没事放进去的给合成了
所以仅仅探测玩家脚下并且口朝上的发射器
(当然你可以修改)
那么随便想一个合成表
比如:
先按这个顺序塞进一个朝上的发射器里
然后在一边放一个命令方块
指令:
/blockdata x y z {}
xyz填发射器的坐标
然后触发一下
可以看到命令方块第二行里有一堆nbt
鼠标选中,按键盘上home建
往后看,看到“{”了
就按shift然后再按end
就会发现其中一段被选中了
ctrl+c复制
在一边放一个高频
连上命令方块:
execute @p ~ ~ ~ /testforblock ~ ~-1 ~ dispenser 1
<输完前面的在这里按ctrl+v>
这里@2362577123也有一个办法,详见回复8楼
记住:粘贴过去的nbt中有xyz,全部删了
下面是我弄的一条指令:
(更上面的差不多就是把金淀换成绿宝石)
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就行了