新浪博客

我的世界技术教程 - 利用particle指令制作受伤溅血特效

2017-01-02 02:06阅读:
今天我给大家带来的是各类地图中常用的受伤流血特效, 主要有3种方法,接下来我就一一给大家讲解。


scoreboard判据法




先我们需要激活这个指令:
  1. /scoreboard objectives add hurt stat.damageTaken

复制代码
这个指令是什么意思呢?就是创建一个检测玩家受伤血量数值的计分板。
然后按照 来摆放CB(命令方块),在RCB(紫色那个,循环型命令方块)里输入:
  1. /execute @a[score_hurt_min=1] ~ ~ ~ /particle blockcrack ~ ~ ~ 0.2 0.6 0.2 1 10 force @a 152

复制代码
,设置为保持开启。意思是在hurt分数最小为1的玩家处播放红石块的碎裂粒子效果,让受伤玩家“喷血”。
然后在CCB(绿色那个,连锁型命令方块)里输入:
  1. /scoreboard players reset @a hurt

复制代码
重置所有玩家的hurt分数。

优点:适用于1.8以上的所有版本(注意如果是1.8.X版本,包括1.8,则RCB里的指令要改成
  1. /execute @a[score_hurt_min=1] ~ ~ ~ /particle blockcrack_152 ~ ~ ~ 0.2 0.6 0.2 1 10 force @a

复制代码

缺点:只适用于玩家受伤溅血

HurtTime标签法



按照 的摆法,然后在RCB里输入:
  1. /scoreboard players tag @a add hurt {HurtTime:10s}

复制代码
,玩家和大部分实体受伤时会有一段时间变红,HurtTime就是记录这段时间的NBT(貌似是,不管了,能用就好),这个指令就是将受伤玩家添加hurt标签。
第一个CCB里输入:
  1. /execute @a[tag=hurt] ~ ~ ~ /particle blockcrack ~ ~ ~ 0.2 0.7 0.2 1 20 force @a 152

复制代码
在拥有hurt标签的玩家处播放粒子效果。
第二个CCB里输入:
  1. /scoreboard players tag @a remove hurt

复制代码
清除所有玩家的hurt标签。
优点:适用范围广,将@a换为@e就可以实现其他实体受伤溅血
缺点:只能用于1.9以上版本

scoreboard + HurtTime 混合法



首先激活
  1. /scoreboard objectives add hurt2 dummy

复制代码
然后按照 摆放CB,RCB处指令:
  1. /scoreboard players add @a hurt2 1 {HurtTime:10s}

复制代码
将受伤玩家的hurt2分数加1。
第一个CCB处指令:
  1. /execute @a[score_hurt2_min=1] ~ ~ ~ /particle blockcrack ~ ~ ~ 0.2 0.7 0.2 1 20 force @a 152

复制代码
在hurt2分数大于1的玩家处播放粒子效果。
第二个CCB处指令:
  1. /scoreboard players reset @a hurt2

复制代码
重置玩家的hurt2分数。
优点:集合了方法1和2的优点
缺点:如果不是需要1.8.X的实体受伤溅血效果的话用得着这么麻烦吗?

蛤?扩展?
扩展1:自定义实体受伤音效



将particle指令换成playsound指令就行了嘛。前提:需要自定义受伤的实体无声(Silent:1b)
比如用方法2(方法1不行,只能适用于玩家),将第一个CCB的指令换成:
  1. /execute @e[tag=hurt,type=Zombie] ~ ~ ~ /playsound minecraft:block.note.bass voice @a ~ ~ ~ 1 2

复制代码
RCB处指令和第二个CCB处指令里的@a换成@e[type=Zombie]
然后召唤一只神奇的僵尸
  1. /summon Zombie ~ ~ ~ {Silent:1b}

复制代码
打他一下,就会发出音符盒的最高音调的贝斯声音。是不是很有趣呢?

扩展2:检测实体被攻击次数




将particle换成scorebo

我的更多文章

下载客户端阅读体验更佳

APP专享