Effects
An effect is a reusable visual: a laser or a particle shape. You define effects once in effects.yml, then use them in two ways:
- Ambient — assign them to an airdrop from the editor’s Effects button so they play for the airdrop’s whole lifetime.
- On-demand — start or stop them from a behavior’s
effectaction, e.g. a one-shot burst the moment the airdrop is opened.
Effects are purely cosmetic — to actually damage players or break blocks, use the explosion action in a behavior, not an effect.
Particles are sent with the long-distance flag, so they stay visible from far away (no client particle-distance limit) — the same reach the laser has. After editing
effects.yml, run/airdrops reload.
Anatomy of an effect
format-version: 1
effects:
spawn-helix:
description: "A spinning flame helix around the airdrop"
type: helix
particle: FLAME
radius: 1.2
height: 4.0
turns: 3
points: 18
speed: 0.15
period: 1
offset-y: 0.2
description(optional) — single line or list, shown on the effect’s button in the selector. Plain text, always yellow.type— the effect type (see below). Determines which extra options apply.
Common particle options
These apply to every particle shape (circle, helix, sphere, point, torus, etc.):
| Option | Default | Description |
|---|---|---|
particle |
— | Particle name, e.g. FLAME, SOUL_FIRE_FLAME, HAPPY_VILLAGER, DUST. |
color |
— | "#RRGGBB" — only the DUST / REDSTONE particle is colored. |
size |
1.0 |
Dust size. |
count |
1 |
Particles spawned per point. |
period |
1 |
Ticks between renders (higher = cheaper but choppier). |
offset-y |
1.0 |
Height above the airdrop block, in blocks. |
speed |
0 |
Radians the shape rotates per tick (0 = static). |
duration |
-1 |
Ticks before the effect ends. -1 = until despawn, 0 = one-shot. |
Effect types
Each type adds its own options on top of the common ones:
type |
Own options | Description |
|---|---|---|
laser |
laser-type: GUARDIAN | CRYSTAL, view-distance, height |
The classic beam pointing at the sky. |
point |
(common only) | A single particle point. |
circle |
radius, points |
A flat ring. |
helix |
radius, height, turns, points (per turn) |
A spiral. |
sphere |
radius, points |
A particle sphere. |
torus |
radius (major), tube (minor), points (speed = spin) |
A spinning donut. |
writhing_helix |
radius, height, points (speed = writhe rate) |
A squirming column. |
expanding_circle |
radius (start), end-radius, points (speed = blocks/tick) |
A ring that pulses outward. |
random |
radius, points |
A random particle cloud. |
burst |
spread, particle-speed, count |
A native particle explosion. |
Lasers
Lasers are the simplest effect — a beam shooting up from the airdrop so players can spot it across the map. Two styles:
laser:
description: "A guardian beam pointing to the sky"
type: laser
laser-type: GUARDIAN
view-distance: 300
beacon:
description: "An end-crystal beam pointing to the sky"
type: laser
laser-type: CRYSTAL
view-distance: 300
The old laser-* config options are migrated into effects automatically.
Ambient effects
Assign these from the Effects button so they play for the airdrop’s whole life:
ground-ring:
description: "A slow ring of happy particles on the ground"
type: circle
particle: HAPPY_VILLAGER
radius: 2.0
points: 40
speed: 0.05
period: 4
offset-y: 0.1
aura:
description: "A rotating coloured sphere around the airdrop"
type: sphere
particle: DUST
color: "#33AAFF"
size: 1.2
radius: 1.4
points: 120
speed: 0.08
period: 2
offset-y: 1.2
halo:
description: "A spinning coloured donut hovering over the airdrop"
type: torus
particle: DUST
color: "#FFAA00"
radius: 1.4
tube: 0.35
points: 22
speed: 0.07
offset-y: 2.2
On-demand effects
Give these duration: 0 (one-shot) or a short duration, and trigger them from a behavior’s effect action — perfect for a flare on unlock or a burst on open:
# effects.yml
unlock-flare:
type: helix
particle: DUST
color: "#FFD24A"
radius: 0.3
height: 2.5
turns: 5
points: 12
speed: 0.35
duration: 20
offset-y: 0.2
flame-burst:
type: burst
particle: FLAME
spread: 0.6
particle-speed: 0.15
count: 40
duration: 0
offset-y: 0.6
# behaviors.yml — play the flare when the airdrop unlocks
unlock-flare-fx:
trigger: UNLOCK
actions:
- type: effect
name: unlock-flare
To stop an ambient effect early from a behavior, use stop: true:
- type: effect
name: aura
stop: true