第189章 ,/.

举个例子:

/execute @a ~~~ particle heart ~~1 ~ 0 -2 0 3 10 normal @s——仅Java1.13之前

上面这条指令的作用是:在所有玩家身上显示10个朝上飘的爱心,并且此粒子效果只能由该玩家看到。

在Java版1.13版本之前,没有dust、block和item该怎么自定义粒子效果呢?

看到那个在Java1.13被移除的叫做参数的参数了吧?这个参数只能在粒子ID是blockdust、iconcrack、blockcrack和fallingdust时修改。

唉,发现了没有?

blockdust是方块破坏时的粒子,blockcrack是方块挖掘时的粒子,在1.13中合并成了block粒子效果。iconcrack是物品破坏时的粒子效果,对应了1.13版本更新后的item。fallingdust是烟尘效果,对应了1.13版本之后的dust。

blockdust和blockcrack的参数是这样的:

最终参数值=方块数字ID+方块数据值×4096

我勒个去,Mojang你是神.....好吧,举个例子,假设你要在Java1.12.2搞到红色羊毛被破坏的粒子效果,那么你就得先知道羊毛的数字ID是35,然后知道红色羊毛的数字ID是14,再然后通过计算器计算:

35+14×4096

35+

最后输入指令/particle blockdust ~~~ 1 1 1 0 10 normal @s 。

恭喜你,你搞到了红色羊毛的粒子效果!

需要注意的是,这里仅支持数字ID,不支持字符串,所以这里也算是MinecraftJava1.8更新时的一个残留。

fallingdust也不同于1.13版本后的dust,颜色并不能自定义,而是有一个现在已经很难找到的颜色ID。

iconcrack和1.13版本后的item差别不大,其参数有两个(Mojang你终于智商在线了),分别是物品数字ID和数据值。

在Java1.13之前的版本fallingdust并不能自定义颜色,但这不代表没有粒子效果可以自定义颜色。

当粒子效果是reddust、mobSpell或mobSpellAmbient时,延伸坐标、速度和数量参数将不再是普通的参数,而是:

延伸坐标——速度参数>0、数量=0时,为粒子颜色RGB值,1为100%,dx为红、dy为绿、dz为蓝。

速度——不等于0且数量=0时,作为颜色RGB值的乘数

数量——为0时可自定义,大于0时颜色会随机(即变成彩色),并且延伸坐标和速度变为本来的作用

神奇的是,这三个粒子效果在1.13版本更新后还在,只不过稍微有亿些改动:

reddust变成dust,并拥有了自己的格式。

mobSpell和mobSpellAmbient变成了entity_effect和ambient_entity_effect,虽然没有自己的格式,但原本的延伸坐标作为RGB颜色值的格式仍在,且格式基本差不多,甚至在Java1.17.1版本中都还可以使用这个及其离谱的格式!

(本章于2021年8月末大修时大改)

历史

Java

1.8——加入了/particle命令和force显示模式

1.9——加入了“目标玩家”和“参数”参数

1.13——更改了粒子名称,“参数”参数惨遭删除,将部分/particle参数改为选填。加入了dust、block、item特殊格式,移除了fallingdust、blockdust、blockcrack和iconcrack。

基岩版和携带版

1.0.5——加入又移除了/particle

1.8.0——又加入了/particle

1.9.0——加入了一些新的粒子

1.12.0——加入了些新的粒子