《我的世界》【1.16.5】Java版实用粒子教程(一)

第一节 指令基础
我来教大家一些基本的粒子
首先来看wiki,这里主要用到了四个指令:
1.execute
https://minecraft.fandom.com/zh/wiki/%E5%91%BD%E4%BB%A4/execute?so=search

execute是高版本必学指令,特别强大
2.particle
https://minecraft.fandom.com/zh/wiki/%E5%91%BD%E4%BB%A4/particle?so=search

召唤粒子,wiki上列出的所有粒子几乎都能召唤:
https://minecraft.fandom.com/zh/wiki/%E7%B2%92%E5%AD%90?so=search
3.tp
4.summon
summon这里主要用于召唤盔甲架
正文
首先是指令部分,execute
execute后面第一个参数是as/at/align/anchored/facing/in/if/positioned/rotated,我主要用到as和at。
execute at <实体>,是直接在特定实体上执行,比如execute at @a run summon zombie
execute as <实体> at @s,前者是确定命令的执行者,后者是确定命令的执行位置。
1.13的扁平化更新让选择器更加强大了,特别是增加了实体标签这个功能,所以和1.12.2的execute命令语法有显著不同。
比如execute execute as @e[name=1] at @s run tp @s ~ ~1 ~ ,让世界上所有名字为"1"的实体把自己向上传送1格
execute in,在特定维度执行命令,一般用的不多。例子:execute in minecraft:the_end
execute if/unless,条件判断语句,有:
if/unless biome
if/unless block
if/unless data
if/unless blocks
if/unless entity
if/unless predicate
if/unless score
例:execute if block x y z run <命令>
这是高版本的羊毛检测机,在1.7.10需要高频 + testforblock + 比较器输出信号 + 命令方块接命令,而execute一条命令就能做到
最后是run子命令,一条execute有且只能有一个run,必须是所有子命令的最后一个
<条件> run <命令>
如果execute判定成功符合条件的实体,就执行run后面的命令
也可以不写条件:execute run say 1 = say 1
接下来是particle,这两种格式都可以:
particle <name> [<pos>]
particle <name> <pos> <delta> <speed> <count> [normal|force] [<viewers>]
name,粒子名称,wiki上能查到所有的粒子类型。
pos,坐标,x y z
delta,指定粒子生成的区域,是三个数值,用空格隔开,产生的范围是1:8格。可以为0,也就是产生在坐标那个点。
speed,粒子的速度,默认为0,至少为0,数值很敏感,接受小数。
count,粒子数量,默认为0,最少是1个。如果把粒子数量设置为0,那么粒子会改变生成逻辑,会强制让粒子从出发点向范围中心移动,并在移动路径上产生拖尾,这就是粒子直线的基础。
然后是粒子显示模式。normal是32格并会被玩家的视距影响。而force是强制把粒子显示范围设置为256格并且不受视距影响。
然后是viewers,指定能看到粒子的玩家,默认是所有玩家。
部分粒子有自己的参数。比如dust后面需要四个参数,比如particle dust 1 1 1 1,前三个是颜色0~1,最后那个数是粒子大小。具体粒子的参数可参阅wiki。
原版的单个粒子持续时间是写死的,无法调整。
有一种新的粒子玩法:用Python暴利穷举粒子位置来绘制粒子图案,详见:www.mcbbs.net/thread-911135-1-1.html
好,指令部分介绍完啦,接下来是实战。