正在阅读:我的世界矿石探测器制作方法介绍我的世界矿石探测器制作方法介绍

2018-06-12 10:26 出处:其他 作者:佚名 责任编辑:linshitang

  我的世里大家如何制作矿石探测器的呢?就是当玩家手上拿了一个东西后,会出现积分板,告诉玩家地下有多少矿石,还告诉玩家是什么矿石。下面就介绍

  这个机器比较简单,主要是使用了新的{CommandStats},或者直接/stats。

 

  首先,我们需要一个探测玩家手里有没有拿着一个探测器。本人这里使用的探测器,是一个地狱星,有自定义名字和介。

  像其他的指令方块作品,都要有脉冲来激活。这里本人使用指令方块高速脉冲。

  第一,就是要一个积分板变量。本人这里使用"Hold"名字的积分板,dummy变量。所以,第一个指令方块就是清空玩家的Hold积分板,分数变成0。指令:

  /scoreboard players set @a Hold 0

  这个Hold变量就是探测玩家有没有拿物品。如果拿了,那就把积分变成1,没拿就是0。之后,就是探测玩家又没有拿物品的指令方块了。一共有9个,因为玩家有9个物品栏。指令是:

  /scoreboard players set @a Hold 1 

  {SelectedItemSlot:0,Inventory:[{id:"minecraft:nether_star",Damage:0s,Count:1b,Slot:0b,tag:{display:{Name:"Ore Detector",Lore:["Finds any ore"]}}}]}

  /scoreboard players set @a Hold 1

  {SelectedItemSlot:1,Inventory:[{id:"minecraft:nether_star",Damage:0s,Count:1b,Slot:1b,tag:{display:{Name:"Ore Detector",Lore:["Finds any ore"]}}}]}

  大家看见,唯一有改动的就是{SelectedItemSlot}和{Inventory}内的Item。这2NBT后面的数字都相同,分别是0-8。玩家手拿第一个就是0,然后第二个就是1,以此类推。(此类型指令还有7个,就不一一的列出了)。之后里面的"{id:"minecraft:nether_star",Damage:0s,Count:1b,Slot:1b,tag:{display:{Name:"Ore Detector",Lore:["Finds any ore"]}}}",就是探测的物品。这里是一个名字叫"Ore Detector"的地狱星,并且介绍是"Finds any ore"。玩家要探测其他东西那就自行改下。

  注意:顺序一定要是先清空,然后再探测,否则就无法探测得到了。

  之后,下一步就是另外一个机器。这个机器可有可无,主要是美观使用。主要就是当玩家手拿物品后,屏幕左边会出现积分板,玩家没有手拿物品,那就不会出现。这个主要是使用积分板的teams做的。

  首先,我们要创建一个teams。指令是:

  /scoreboard teams add Gold

  7这条指令,就是积分板里加一个名字叫"Gold"的Team(队伍)。这个名字大家可以自己改动,之后我们要把这个Team的颜色改掉,好让指令方块可以探测得到。指令是:

  /scoreboard teams option Gold color gold

  这条指令把刚才的"Gold"的队伍改成金色。当然,不一定要是金色,玩家打进指令后再颜色的地方按Tab,就会出现积分板所有的颜色。队伍创建完毕后,还要一个显示的指令。也就是一条让所有在金色颜色队伍内的玩家,可以看到积分板的矿石探测。指令是:

  /scoreboard objectives setdisplay sidebar.team.gold Underground

  这条指令把一个叫"Underground"的变量显示给所有金色队伍的人员看。其他没有队伍的玩家或者不同队伍的玩家是无法看到的。之后这个Underground积分板,之后是用来探测矿物用的。

  之后就要做一个机器了。刚才做的是,一旦有玩家在Gold队伍里面,就会看见积分板。所以我们需要一个装置:一旦玩家手拿物品,那就会进入Gold队伍,没拿那就会退出Gold队伍。指令分别是:

  /execute @a[score_Hold_min=1] ~ ~ ~ /scoreboard teams join Gold @a[r=0]

  这条指令探测所有的"Hold"积分板为最起码1的玩家,然后把他们加入到Gold队伍。后面的[r=0],也就是精准的选择那个玩家,而不是其他旁边的一些玩家。Hold积分板刚才说了,就是把拿着物品的玩家积分设成1。所以,拿了物品后,那个玩家就进入了Gold队伍,可以看到积分板了。之后,还要一个退出的指令。当玩家没有拿物品,那就会退出这个Gold队伍,导致看不见。指令是:

  /execute @a[score_Hold=0] ~ ~ ~ /scoreboard teams leave Gold @a

  (如果是多人游戏可能需要多个队伍,每个玩家一个)。以上指令把没有拿物品的玩家退出队伍。

  之后还需要一个显示的积分板,也就是Underground。玩家可以随便输入。所以先创建一个积分板:

  /scoreboard objectives add Underground dummy

   

  以上指令创建"Underground"积分板,拥有dummy变量。之后需要创建假名。有7个矿石,所以分别是:

  /scoreboard players set Diamond Underground 0

  /scoreboard players set Gold Underground 0

  /scoreboard players set Coal Underground 0

  /scoreboard players set Iron Underground 0

  /scoreboard players set Lapis Underground 0

  /scoreboard players set Emerald Underground 0

  /scoreboard players set Redstone Underground 0

  /scoreboard players set Air Underground 0

  大家看见,上面有8条指令。第8条是探测空气用的,来告诉玩家下面有没有矿洞。

 

  以上就是积分板系统了。之后就要使用/stats了。游戏里一共有7种矿石(不包括地狱石英矿),所以我们需要14个指令方块。2个指令方块控制一种矿石。首先,来控制煤。

  第一条指令是:

  /execute @a[score_Hold_min=1] ~ ~ ~ /fill ~ ~20 ~ ~ ~-30 ~ minecraft:jungle_stairs 0 replace minecraft:coal_ore 0

  这条指令,意思就是,探测所有拿着物品的玩家,然后把他们头上20格,脚下30格的所有煤矿,都换成台阶。本人使用台阶是因为台阶拥有很多Damage数值,因为每种不同的矿石都要有一个更换物品,所以用台阶就可以换掉所有的矿石,直接修改Damage数值就可以了。大家看见,煤矿本人用的是0的台阶。

  之后事情还没完。因为这条指令只是把煤换成了拥有Damage为0的台阶,之后还要把台阶换回煤。指令是:

  /execute @a[score_Hold_min=1] ~ ~ ~ /fill ~ ~20 ~ ~ ~-30 ~ minecraft:coal_ore 0 replace minecraft:jungle_stairs 0

  这和刚才的一样,只不过是玩家头上20格,脚下30格的所有0台阶换成煤矿。之后就使用/stats了。在这个指令方块上面站着,然后输入指令:

  /stats block ~ ~-1 ~ set AffectedBlocks Coal Underground

  这条指令的意思就是,一旦指令方块有改动(把台阶换成煤矿),那么就会用积分板显示换了多少次。所以,这样可以直接知道玩家附近有多少个煤矿。(激活顺序是首先煤块换台阶,然后台阶换煤块。这个推荐放到指令方块高速脉冲,这样子看不见变换的过程。)以上的/stats,Coal就是假名Coal,然后Underground就是积分板名字。其他就不需要改了。

  玩家会问,这么复杂做什么,直接把煤块换成煤块不就好了?答案是不行,因为/fill的replace功能和/setblock的一样。所以,如果是同一种方块,/fill并不会替换。所以我们要先替换成其他方块,然后再替换回来。

  之后就都是一样了。只要改下替换ID就可以了。比如:(/stats每个把台阶替换矿的指令方块都要弄一下。)

  /execute @a[score_Hold_min=1] ~ ~ ~ /fill ~ ~20 ~ ~ ~-30 ~ minecraft:jungle_stairs 1 replace minecraft:iron_ore 0

  /execute @a[score_Hold_min=1] ~ ~ ~ /fill ~ ~20 ~ ~ ~-30 ~ minecraft:iron_ore 0 replace minecraft:jungle_stairs 1

  把铁矿替换成拥有Damage 1的台阶,然后再替换回来。一直重复到空气,那么这个部分就做完了。玩家只要自行加入其他的矿物,然后替换成其他Damage数值的台阶就可以了。

  这个机器一个缺点是,如果玩家在低于30格(y<30),那么机器就会坏掉。因为/fill或者/setblock无法替换虚空内的方块。所以积分板只会显示0,无法进行探测。

我的世界系列软件最新版本下载
我的世界起床战争服务器软件版本:最新版游戏娱乐立即查看
快吧我的世界盒子软件版本:4.9.1.1400 官方正式版游戏娱乐立即查看

关注我们

最新资讯离线随时看 聊天吐槽赢奖品