范围效果云入门指南
intermediate
范围效果云(Area-of-effect clouds),在游戏内部被称为AOE云或minecraft:area_effect_cloud,是一种具有多种独特属性的特殊实体。通常这些实体是通过投掷滞留药水生成的,但借助结构文件和NBT编辑技巧,我们可以在地图制作中实现强大的效果操控。
概述
范围效果云具有以下可供利用的特殊特性:
- 作为虚拟实体,它们性能高效几乎不影响帧率,且完全静止不与世界发生碰撞。这使其非常适合需要围绕玩家精确定位的场景。
- 不会向客户端发送更新。生成后视觉效果会保持静止状态直至消失,但仍可通过命令自由移动。
- 可高度自定义地施加任意药水效果。可精确设置到游戏刻(tick)的持续时间,以及效果是否为环境效果、是否显示屏幕动画、是否产生粒子等。
- 具有
minecraft:area_effect_cloud运行时标识符的实体继承相同属性。
方法一:投射物组件
投射物组件支持在命中时生成范围效果云。Minecraft利用此机制实现滞留药水的AOE云效果。
方法二:NBT编辑
另一种生成方式是通过结构文件,这能更精细控制效果云的药水效果。首先需要获取编辑结构的工具。
NBT编辑器推荐
建议使用以下工具之一:
- NBT Studio(tryashtar开发的独立程序)
- NBT Viewer(Misode开发的VS Code插件)
结构文件
本文提供预设结构文件下载,内含存在时间最大化的AOE云实体。
下载MCSTRUCTURE文件结构文件编辑教程参考:.mcstructure文件
NBT格式说明
| 标签 | 类型 | 说明 |
|---|---|---|
| Duration | 整型 | 效果云存在时间(单位:游戏刻) |
| DurationOnUse | 整型 | 应用效果时的持续时间变化量 |
| InitialRadius | 浮点型 | 生成时的初始半径 |
| ParticleColor | 整型 | 粒子效果颜色(十进制表示) |
| ParticleId | 整型 | 效果云产生的粒子ID(0表示无粒子) |
| PotionId | 短整型 | 生成时的药水效果ID(实际无效) |
| RadiusChangeOnPickup | 浮点型 | 未知 |
| RadiusOnUse | 浮点型 | 应用效果时的半径变化量 |
| RadiusPerTick | 浮点型 | 每游戏刻的半径变化量 |
| ReapplicationDelay | 整型 | 效果重复施加间隔(单位:游戏刻) |
| mobEffects | 列表 | 描述应施加的药水效果 |
以下是mobEffects标签的参数说明:
| 标签 | 类型 | 说明 |
|---|---|---|
| Ambient | 字节 | 控制效果粒子是否半透明显示 |
| Amplifier | 字节 | 药水效果强度 |
| DisplayOnScreenTextureAnimation | 字节 | 未知 |
| Duration | 整型 | 效果持续时间(单位:游戏刻) |
| DurationEasy | 整型 | 未知(似乎未使用) |
| DurationNormal | 整型 | 未知(似乎未使用) |
| DurationHard | 整型 | 未知(似乎未使用) |
| Id | 字节 | 药水效果ID |
| ShowParticles | 字节 | 控制是否显示效果粒子 |

