游迅网
游迅网 > 攻略首页 > 单机游戏攻略 > 正文

《我的世界》中国版放置触发类命令方块组件详细教程

2017-07-20 15:17:06来源:论坛编辑:评论(0)

  《我的世界》是一款十分好玩的沙盒游戏,目前中国版测试已经正式开启。今天小编就为大家带来玩家“不笑君”分享的放置触发类命令方块组件详细教程,感兴趣的玩家一起来看看吧。

  教程:

  放置触发类:即仍在地上,形成陷阱,玩家经过会有负面效果的道具

  命令方块“组件”:并非官方意义上的组件,类似于ooc,做好了之后是.mcfunction文件,后续会讲到用function来激活;单纯想学命令方块的话可以无视function部分直接往后读。

  PS大佬请无视,这是给有点cb基础的萌新看的;若有错误部分请指出,谢谢。

  本贴全程以我的作品<极限跑酷2>中的红色半砖为例

  由于极限跑酷2是在旧版本制作的,所以单纯是作为一个例子,以1.12版本重新做出同样的效果(使用function);如果拆解此地图可以发现这张地图设计十分混乱(那时候我比较垃圾XD),而且那时候是使用exec detect做的,十分糟糕。

  ①

  创建.mcfunction文件 单纯想学命令方块可跳过

  先创建单人游戏世界,版本选择1.12,等待创建完毕,并至少运行一次此地图。

  打开 安装目录\MCLauncher\MCLDownload\Game\网易国服mc账号\MCGame\地图名称\.minecraft\saves\地图名称\data\functions

  先新建一个文件夹(作为命名空间,最好用“纯英文”或“下划线”),再在新建的文件夹下新建一个.mcfunction文件(文件名任意,最好用“纯英文”或“下划线”),那么函数名就是[命名空间]:[.mcfunction文件名],用记事本或notepad++打开.mcfunction文件。.mcfunction文件需要UTF-8无BOM编码,notepad++设置方法:

  TIP 详细function教程请参见MCBBS

  ②

  写指令

  写指令可以用 第三方工具 或 直接在.mcfunction中书写(建议)。

  本贴全程以我的作品<极限跑酷2>中的红色半砖为例

  由于极限跑酷2是在旧版本制作的,所以单纯是作为一个例子,以1.12版本重新做出同样的效果(使用function);如果拆解此地图可以发现这张地图设计十分混乱(那时候我比较垃圾XD),而且那时候使用exe detect做的,十分糟糕。

  最终效果预览图:

  

  最终效果:

  手持名为Red的木棒按Q扔出,等待一定时间后陷阱刷出。踩中刷出陷阱即死。

  一切准备就绪......

  直接将下方命令复制到.mcfunction文件内即可+命令解析:

  #mcfunction文件标有井号为注释行,在游戏中不会运行。

  scoreboard players tag @e[type=item] add stick {OnGround:1b,Item:{id:"minecraft:stick",Count:1b,tag:{display:{Name:"Red"}}}}

  #给在地面上的物品(ID是木棒,数量是1个,名为Red的)加上Tag:stick;方便以后直接用选择器选择掉落物状态的道具。

  #如果有若干较多的陷阱,可以不选择用tag的方式,可以选择专门设置一个计分板项目(以下简称obj),给每种陷阱的掉落物专门设置一个分数。

  entitydata @e[tag=stick] {PickupDelay:32767}

  #这条指令按条件需要加入。作用是:给扔出去的,还未变成陷阱的掉落物加上不能捡起来的nbt。

  execute @e[tag=stick] ~ ~ ~ playsound minecraft:block.stone.fall voice @a[r=5] ~ ~ ~ 0.3 1.5

  #这条指令按需要加入。作用是:给扔出去的,还未变成陷阱的掉落物,给周围半径5格以内的玩家声音提示。如果你想加一些粒子效果也可以,这里不作赘述。

  scoreboard objectives add stickTime dummy

  #这条指令用作建立一个stickTime的obj,此obj用来给tag=stick的实体计算时间(timer)。

  scoreboard players add @e[tag=stick] stickTime 1

  #给tag=stick的实体在此obj上加1分数(若20s/gt,则obj有数值是20时代表过去了大概1s)。

  execute @e[tag=stick,score_stickTime=40,score_stickTime_min=40] ~ ~ ~ summon armor_stand ~ ~-1.7 ~{DisabledSlots:2096896,Invisible:1b,NoGravity:1b,CustomName:"stick",Tags:["stickMain"],ArmorItems:[{},{},{},{id:"minecraft:redstone_block",Count:1b}],Marker:1b}

  #timer计算的时间有obj等于40(≈2s),就在这个实体y坐标下面1.7格(写模型的时候经常遇到这种坐标偏移问题,可以多试试几次数字,代进去看看合不合适)刷一个as模型名为stick,Tag:stickMain。

  kill @e[tag=stick,score_stickTime=40,score_stickTime_min=40]

  #刷好as模型别忘了把自己kill掉orz

  #写到这里差不多基本框架已经写完了,还是比较简单的,接下来写其实更简单的核心内容。

  execute @e[type=armor_stand,tag=stickMain] ~ ~1.7 ~ execute @a[dx=0,dy=0,dz=0] ~ ~ ~ kill @s

  #从陷阱的角度去探测~ ~1.7 ~(这和刚扔出来的掉落物的位置是相对的)的位置有没有玩家,再kill @s;@s:执行实体。

  如果能理解上方的讲解内容,说明你已经对此篇教程较为熟练了,可以尝试自己不看上述内容盲写,也可以以此类推,制作更高级的陷阱,例如:

  ③

  运行.mcfunction

  写好了function文件之后并保存,在function保存的对应地图中,输入/gamerule gameLoopFunction [function函数名] ,将会在每1gt执行.mcfunction内的指令。

  TIP 详细function教程请参见MCBBS

  The End

  以上就是具体教程介绍,希望能对各位玩家有所帮助!

我的世界

我的世界

  • 游戏类别:动作冒险
  • 游戏平台:/PC/PS3/Xbox360/
  • 开发商:Mojang AB
  • 发行商:网易游戏
  • 发行时间:2011年11月18日
游戏介绍:

《我的世界》是一款带有生存冒险元素的建造类游戏。整个游戏世界由各种方块构成,玩家可以破坏它们,也可以用自己的方块随意建造东西。为了在游戏里生存和发展,玩家需要通过伐木、挖矿、捕猎等方式获取资源,并通过合成系统打造武器和工具(这方面和《牧场物语》有些类似)。随着游戏的进行,玩家自立更生,逐渐建造出一个自己的家园。《我的世界》采用第一人称视角,棱角分明的方块世界给人一种独特的感受。虽然画质比较粗糙,但是整体上很有临场感,而且可以通过选择材质包来改善画面。

欢迎玩家加入游迅网《我的世界》官方QQ群:592699415,一起和其他玩家分享游戏乐趣!

推荐阅读

更多>>48小时热评资讯

更多>>精华推荐