我的世界TNT变幸运方块详细图文介绍;我的世界TNT变幸运方块图文攻略;你们是否还在会熊孩子拿TNT炸地图还头疼!你们是否还在为外挂玩家拿怪物蛋生成的TNT在头疼!那你们想不想要幸运方块!下面就跟着小编走给你最详细的教程。
我们要达成什么效果呢?
TNT爆炸了,没有造成破坏和伤害,掉落了随机的物品
让我们看看正常的TNT是怎么爆炸的吧
点燃TNT→TNT变成实体开始闪烁→经过一段时间→爆炸[产生粒子效果,造成伤害,破坏地形]
所以我们要改变的,就是爆炸这个过程,即只产生粒子效果,不造成伤害和地形,且掉落随机物品
那我们可以给点燃的TNT计时,经过测试,TNT爆炸时间为4s
在我的世界这款游戏内,唯一的时间单位是游戏刻,又称t,一秒等于20刻,即20t
4s,即80t。所以我们需要在78t或者更早的时间来进行操作(本教程用的是78t)
第一步:新建一个记分板
在聊天栏打出
/scoreboard objectives add 幸运TNT dummy 草方块
scoreboard是让系统知道你要用的指令是记分板
objectives是管理记分项
add是增加一个新的记分项
后面加的是这个新的记分项的名字,随便写,记得住就行
dummy是积分规则,即虚拟性准则,只能通过指令修改
再后面是这个指令的显示名称,也是随便写,都不用记住,当然你也可以不写
第二步给点燃的TNT计时
循环保持开启的命令方块
/execute @e[type=minecraft:tnt] ~ ~ ~ /scoreboard players add @s 幸运TNT 1
给所有已经点燃的TNT在幸运TNT记分板上给自己加1积分
execute是让某一实体在某一位置执行一条指令
@e[type=minecraft:tnt]是指实体类型为TNT的实体(一般写type=TNT就行)
~ ~ ~是指xyz坐标轴都在当前的位置上
/scoreboard是让系统知道你要用的是记分板指令
players是对实体积分进行管理
add是加积分
@s是指操作对象是自己(前面因为加了/execute @e[type=minecraft:tnt_minecart],所以这个@s指的是已经点燃的TNT自己)
后面的是操作的记分板,千万不要打错了,输入记分板名字,不是显示名称
1指的是加1分(因为是循环无条件保持开启的命令方块,所以每1t就加1分)
第三步查找积分大于等于78的TNT
接在上个命令方块后面,这个命令方块是连锁有条件保持开启的命令方块
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ clone 28 64 22 28 64 22 ~ 255 ~
28 64 22 的地方有一个箱子,箱子里面有物品
查找一个实体类型为TNT,幸运TNT记分板的积分大于等于78,只查找一个,复制在28 64 22的方块到这个即将爆炸的TNT的相同xz轴,但是高度在255(游戏可放置的最高处)
execute上面说过了,不重复
@e是全部实体,type是实体类型,scores是记分板分数查询,登号前面是记分板名字,登号后面是要达到的积分
如果是a=10,那么只有当刚刚好是10的时候才会运行
如果是a=..10,则是当小于等于10的时候才会运行
如果是a=.10,则是小于10才会运行,如果积分为10不会运行
如果a=10.则大于10才会运行,当积分为10时不会运行
如果a=10..则大于等于10才会运行
c=1是指,个数为1。
三波浪不重复解释
clone让系统知道你要运行在区域间复制方块这条指令
前三组数的,将要复制的建筑的起始坐标
下一个三组数,是将要复制到建筑的终坐标(只能复制方形)
因为我们只有一个箱子,所以前三组跟后三组是一样的
最后三组坐标是复制到的坐标,复制方向是xyz轴的正方向
第四步
连锁有条件的保持开启
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ fill ~ 255 ~ ~ 255 ~ air 0 destroy
在已经复制到了箱子的地方,填充空气,填充规则为destoroy,让他们看起来是被挖掘了
波浪号前面都不解释了
fill,填充方块,这两组坐标是起始点和终止点,因为只需要填充一个方块,所以是两组坐标是相同的,坐标后面是填充的方块,air是空气,再后面是替换方式,默认是replace,直接替换,啥都不掉,必须改成destroy,让原方块以被挖掘的形式进行替换。
第五步清除掉落物中的箱子
连锁有条件的保持开启
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ kill @e[x=~,y=255,z=~,name=箱子,type=minecraft:item,r=5]
同学们看到这么长的不用害怕啊
在即将爆炸的TNT的上空(y轴坐标为255)清除半径为5内的所有掉落物形式的箱子
波浪号前不解释
kill,清除实体
实体:一切能动的东西“生物,掉落物,玩家,掉落的方块,移动的活塞臂,死掉的玩家,飞行中的箭,火焰蛋,鸡蛋,雪球等等等等”都是掉落物
xyz不能简化必须完整
波浪号是当前的坐标的意思
item是掉落物种类
掉落物的名字就是这个方块的中文名字
r是最大半径,等于5就是最大半径为5
第六步清除多余的掉落物
连锁有条件的保持开启
现在我们假设28 64 22的箱子里有10个物品,我只想让TNT爆炸后有一种物品掉落,那我就应该清除9个掉落物,让他只剩下一个掉落物,达到随机掉落效果
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ kill @e[x=~,y=255,z=~,type=minecraft:item,r=5,c=9]
第七步传送掉落物
连锁有条件的保持开启
我们已经有了一个随机的结果了,现在需要把这个结果tp到TNT的位置
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ tp @e[x=~,y=255,z=~,r=5,type=minecraft:item] @s
tp,将什么东西传送到什么地方,这个地方可以是坐标也可以是实体的位置,那么,上述指令的tp部分的意思就是:传送一个实体(在相同xz坐标但是y轴在255,半径为5,实体类型为掉落物)到即将爆炸的TNT的位置。其他的不多做解释
第八步添加粒子效果
连锁有条件的保持开启
万事俱备,只欠东风。现在让我们加上粒子效果,让他变成有烟无伤吧!
execute @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1] ~ ~ ~ particle minecraft:dragon_death_explosion_emitter ~ ~ ~
particle是粒子效果的指令,也没啥好解释的
第九步清除TNT
最后一步,清除TNT,这二到九步会在二十分之一秒内运行完,不要加延迟
kill @e[type=minecraft:tnt,scores={幸运TNT=78..},c=1]
以上就是小编为大家的分享的攻略希望对大家有所帮助。