命令/particle

来自Minecraft Wiki
跳转至: 导航搜索
particle
需要的权限等级

2[仅Java版]
1[仅基岩版]

限制条件

启用作弊[仅基岩版]

在指定位置显示粒子效果。

语法[编辑 | 编辑源代码]

Java版:

particle <粒子名称> <x> <y> <z> [<xd> <yd> <zd>] [飞行速度] [粒子数量] [显示模式] [目标玩家]

基岩版:

particle <粒子名称> <x> <y> <z>

上方的背景色是为了方便阅读。

参数[编辑 | 编辑源代码]

粒子名称

指定要创造的粒子类型。必须为一个粒子名称(例如,explosion)。
  • dust需要四个颜色通道参数,分别代表红色、绿色、蓝色和透明度,每个数值都应在0和1之间。例如:/particle dust 1.0 0.5 0.5 1.0会创建一个不透明的粉色粒子。
  • block以及falling_dust需要一个方块(以及可选的方块状态)作为参数。例如:/particle block minecraft:grass_block[snowy=true]会创建一个覆盖雪的草方块的粒子。
  • item需要一个物品(以及可选的NBT)作为参数。例如:/particle item minecraft:apple会创建一个苹果物品的粒子。

x y z

指定创造粒子的位置。所有值(包括y)必须在-30,000,000和30,000,000之间(含,不输入逗号)。可使用波浪号来指定一个相对于命令执行处的位置。

xd yd zd[仅Java版]

指定粒子生成的区域,以三维立方尺寸表示,此立方体中心位于x y z处。实际尺寸为此处定义尺寸的约8倍(1 1 1定义一个约8×8×8的区域)。
配合entity_effectambient_entity_effect时,0 0 0产生纯黑色粒子,0 1 0产生纯绿色粒子,0 0 0.5产生蓝黑色粒子,等等。
dust粒子的RGB通道设置更不相同:
dust
xd被设为0,则会被视为1
xd yd zd参数的取值范围可以超过0-1;程序通过取模计算来将数值修正到正确的范围内。
每个RGB通道的数值会先被乘以各自独立的随机倍率,范围为0.8-1.0,然后再被乘以一个共同的随机倍率,范围为0.6-1.0。
随后每个通道的数值会被各自转换成一个字节。舍弃小数部分。
红色通道的特殊行为可通过将其通道值设置为0.001来绕过:
设置值 等效值 颜色
0 0 01 0 0 1 0 0 红色
0 1 01 1 0 1 1 0 黄色
0 0.5 01 0.5 0 1 0.5 0 橙色
0 0 11 0 1 1 0 1 紫色
0 1 11 1 1 1 1 1 白色
0.001 0 0 0.001 0 0 黑色
0.001 1 0 0.001 1 0 绿色
0.001 0 1 0.001 0 1 蓝色
其余的异常特性由以下伪代码解释(英文):
伪代码
Set Red = xd, Green = yd, Blue = zd
Multiply each (Red, Green, Blue) by speed
If Red = 0 then set Red = 1
Set AllChannelMultiplier = RandomBetween(0.6, 1.0)
For each channel (Red, Green, Blue):
 ## Multiply (so that we step towards the range of a Byte)
 Multiply channel by 256
 ## Randomize (note that this causes a triangular distribution
 ## such that 0.74 is the mean net multiplier)
 Multiply channel by RandomBetween(0.8, 1.0)
 Multiply channel by AllChannelMultiplier
 ## Convert (to an actual Byte value)
 Round channel toward zero, to the nearest integer
 Set channel = channel Mod 256
Return color of this particle as (Red, Green, Blue)
为了更清楚地解释此过程,以下考虑几种通道值,这些通道值在任意的xd yd zd中影响其对应的颜色通道(除xd = Red = 0外)。
输入 # 设定倍率 # 随机倍率 # 数值转换 结果
0 0 0 0 倍率没有任何效果,此通道值会保持为0。注意这种情况在红色通道中不会发生。
0.001 0.256 0.122880.256 0 由于所有可能值都小于1,此通道值在转换成字节后会变成0,对于红色通道亦是如此。在输入小于1 / 256时,这种情况便会发生。
0.99 253.44 121.65253.44 121253 这种情况可以产生线性范围最广的随机字节值。输入值等效上限为0.99
-0.01 -2.56 -2.56-1.2288 254255 这种情况下只会产生亮度最大的两个字节值。输入值等效下限为0.99
-0.006 -1.536 -1.536-0.73728 2550 与上述类似。注意如果计算随机倍率以后的数值大于-1,则会被舍弃小数部分变为0。这种情况导致一些粒子通道值为255,而另一些的通道值为0(效果为一些是黑的一些是亮的。)更靠近0的值最终会产生更多的黑色粒子,更远离0的值最终会产生更多的亮色粒子。
2 512 245.76512 245255,及

0255

这种情况可以产生所有可能的字节值。然而,由于数值范围重叠(例如,245.76501.76 = (245.76 + 256)在取模后结果相等)且二重随机倍率造成的三角分布的影响,某些字节值出现的概率会更高。
1.921 491.776 236.05248491.776 236255,及

0235

这种情况涵盖了字节值的全部取值范围且没有重叠区域,因此概率分布近似为三角分布(363.91424是概率最高的取值,转换为字节值为107)。注意1.921 ~ 1 / (1 - 0.48)

飞行速度[仅Java版](可选)

指定粒子的速度。默认为0。必须至少为0。

粒子数量[仅Java版](可选)

指定创造的粒子效果的数量。必须至少为0(产生1个粒子)。

显示模式[仅Java版](可选)

指定显示模式。可为forcenormal。设置为force会将粒子的可视距离强制设置为256米,包括将粒子效果可视距离降至最低的玩家。

目标玩家[仅Java版](可选)

指定能看到粒子效果的玩家。

效果[编辑 | 编辑源代码]

命令触发条件Java版基岩版
任意指定的参数不正确 无法解析 执行失败
<目标>未能解析出至少一个在线玩家 执行失败 N/A
无人可以看见该粒子效果
执行成功时创建粒子效果

输出[编辑 | 编辑源代码]

命令版本条件成功次数/execute store success .../execute store result ...
任意Java版失败000
成功11能够看见该粒子效果的玩家数量
基岩版失败0N/AN/A
成功0N/AN/A

示例[编辑 | 编辑源代码]

  • 在向东10米处创造一个静止的巨型爆炸粒子:particle explosion_emitter ~10 ~ ~ 0 0 0 0

历史[编辑 | 编辑源代码]

Java版
1.814w04a加入了/particle命令。
14w29a加入了force参数。
1.915w49a/particle命令加入了playerparams标签。
1.1317w47a更改了粒子名称。
18w03a加入了/particle <name> <pos>作为该命令的一个简写。
携带版
1.0.51.0.5.0加入了/particle命令。
1.0.5.3移除了/particle命令。
基岩版
1.8.01.8.0.8重新加入了/particle命令。
1.9.01.9.0.0/particle加入了一些新的粒子。
1.12.01.12.0.2/particle加入了一些新的粒子。