本帖最后由 乾.坤 于 2016-5-26 20:59 编辑


嘿!大家好,今天我带来的作品是一款利用Structure Block(结构方块) 与 Command Block(命令方块)功能的游戏内的直播器:Structand合成词233)
首先大家可能不理解什么叫在游戏内直播,这样说:比如你在挖矿(如上图),系统就会把你周围的环境(包括生物,玩家暂用盔甲架代替)Copy到一个指定地点,即上图的3D立方体区域,其他玩家可以在盔甲架周围实时观看你的生存且不会有任何危险(盔甲架在立方体中的位置是不变的,变的只是与周围环境的相对环境),感受据某人体验就像看VR直播,非常逼真(当然看久了会晕XD)。那么,下面就来正式介绍一下这个直播器的用法和原理。


进入游戏后,会看到这样的场景:





左右两个按钮的作用分别是开始直播(投影)和暂停直播,使用命令:
  1. /scoreboard players tag add 被直播玩家 Now
  2. /scoreboard players tag remove 被直播玩家 Now
复制代码
增加/删去被直播的人(同一时间只能有一个),另外,被直播者必须离直播区域50格以上才能开始直播(可以先按开始按钮,准备好了再输入命令正式开始直播)这是因为区域重复会导致鬼畜。

命令区域及投影区域一览:







下面讲解一下命令:

  1. /blockdata ~ ~ ~ {auto:0b}
  2. /kill @e[type=ArmorStand,tag=Player]
  3. /execute @p[tag=Now] ~ ~ ~ /summon ArmorStand ~ ~ ~ {Marker:1b,CustomName:Player,NoGravity:1b,Invisible:1b,Tags:["Player"]}
  4. /execute @p[tag=Now] ~ ~20 ~ /fill ~10 ~10 ~10 ~-10 ~-10 ~-10 air 0 replace structure_block
  5. /execute @p[tag=Now] ~ ~21 ~ /fill ~10 ~5 ~10 ~-10 ~-5 ~-10 air 0 replace redstone_block
  6. /execute @p[tag=Now] ~ ~20 ~ /clone -284 67 -256 -284 67 -256 ~ ~ ~
  7. /execute @p[tag=Now] ~ ~21 ~ /setblock ~ ~ ~ redstone_block
  8. /entitydata @e[-270,80,-275,30,tag=Player] {Invisible:0b,Marker:0b}
  9. /tp @e[-270,80,-275,30,type=!Player] ~100 -512 ~100
  10. /setblock -282 64 -260 minecraft:redstone_block
  11. /blockdata -286 66 -260 {auto:1b}
复制代码
StructureBlock设置一览:

读取模式(即投影区):

保存模式(跟随玩家移动):



核心原理:利用结构方块的即刻读取/保存及能保存生物信息的特性,以玩家为中心将周围的环境实时通过结构方块“转播”出去。





作品下载链接:http://pan.baidu.com/s/1eSc3UyI
来自群组:The Minecraft Lover

@chyx @林扬骐 @pca006132 @PotatoMaster101 @玄素