下载地址(可以利用Mce转存、或研究体验)
展示:
http://v.youku.com/v_show/id_XNzA0NTU1OTQ4.html
原理:
这是主要处理部分,命令方块比较多,将给大家详细讲解。(将以羊毛颜色命名命令方块)
前端输入区
主要目的:探测玩家是否有安放C4的动作,并输入信号。
首先一个命令方块脉冲(←点击“脉冲”进入教程)连接蓝色。
蓝色:
- /testfor @p[388,8,381,r=0] {SelectedItemSlot:4,Inventory:[{Slot:4b,id:"minecraft:firework_charge",tag:{display:{Name:"C4"}}}]}
若探测是,则输出黄色
黄色:在绿色放置一个红石块
绿色开启脉冲,激活安包区
主要目的:显示安包时间、刷出实体C4
绿色下面:
- /xp 8l @p
脉冲长度5刻,模拟大概1秒
白色:
- /xp -1l @p
于是制作了一个经验条显示器。
灰色组:
- /effect @p 2 2 255 true
- /testfor @p[l=0]
深灰组:
- /summon Item 388 8 381 {Item:{id:firework_charge,Count:1},PickupDelay:1000000000,Age:-32768}
- /clear @p firework_charge 0 1 {display:{Name:"C4"}}
在“前端输入区”红色处防止一个红石块,一个命令方块把红色羊毛设为空气,且激活:
- /scoreboard players set @e[type=Item,c=-1] firework 1
首先我们需要一个实体计分板firework来探测:
- /scoreboard objectives add firework dummy firework
黑色组:
开启爆炸计时区、拆弹区、关闭安包区。
爆炸计时区
主要目的:显示爆炸倒计时、爆炸特效及重置。
当红色下面得到红石块输入后,激活三个命令方块:
按照先后信号顺序实现上下后左右
所以下面是:
- /scoreboard objectives add C4DetonatingTime dummy C4DetonatingTime
接着左右:
- /scoreboard objectives setdisplay sidebar C4DetonatingTime
- /scoreboard players set @a C4DetonatingTime 30
接着仍然也是激活一个5刻(长度1秒)的脉冲,连接黄色:
- /scoreboard players remove @a C4DetonatingTime 1
也连接蓝色:
- /testfor @a[score_C4DetonatingTime=0]
绿色组(负责爆炸特效):
- /execute @e[type=Item,score_firework_min=1] ~ ~ ~ kill @e[type=!FallingSand,r=10]
- /playsound ambient.weather.thunder @a ~ ~ ~ 1 1 1
- /execute @e[type=Item,score_firework_min=1] ~ ~ ~ /particle largeexplode ~ ~ ~ 10 10 10 0.001 2000
- /scoreboard objectives remove C4DetonatingTime
棕色(负责重置):
关闭爆炸倒计时、关闭拆包探测、关闭拆包倒计时、重置经验(若拆包失败及时清除倒计时)。
紫色:在拆包区另外讲解。
拆包区
主要负责拆包倒计时、重置。
首先我们来看一下警匪判据:
- /scoreboard objectives add ispolice dummy
若选择警察:
- /scoreboard players set @p ispolice 1
若选择土匪:
- /scoreboard players set @p ispolice 0
- /give @p firework_charge 1 0 {slot:4b,display:{Name:"C4"}}
所以若拆包,就探测这个人是否为警察。
拆包探测区:
红色:
- /execute @e[type=Item,score_firework_min=1] ~ ~ ~ execute @p[score_ispolice_min=1,r=0] ~ ~ ~ playsound random.successful_hit @p[sore_ispolice_min=1] ~ ~ ~ 1 1 1
黄色:激活拆包倒计时
- /xp 8l @p[score_ispolice_min=1]
倒计时区:
激活5刻(长度1秒)脉冲。激活蓝色组:
- /xp -1l @p[score_ispolice_min=1]
- /effect @p[score_ispolice_min=1] 2 2 255 true
绿色:
- /testfor @p[score_ispolice_min=1,l=0]
输出棕色:
- /scoreboard objectives remove C4DetonatingTime
- /kill @e[type=Item,score_firework_min=1]
并且关闭爆炸倒计时、关闭拆包探测、关闭拆包倒计时
最后两个紫色一起讲:
若C4爆炸,则
匪:
- /tellraw @a[score_ispolice=0] {text:"Explosion C4 successfully!",color:red,bold:true}
- /tellraw @a@a[score_ispolice_min=1] {text:"C4 has exploded",color:gray,bold:true}
警:
- /tellraw @a[score_ispolice_min=1] {text:"Demolition C4 successfully!",color:red,bold:true}
- /tellraw @a[score_ispolice=0] {text:"C4 has been defused",color:gray,bold:true}
@cyqsimon @songfeitong @tyson @我的世界sun123 @PotatoMaster101 @ghyzhi10086
[groupid=546]Command Block Logic[/groupid]