Skip to content

Effect Config Format

The default parser reads one Bukkit ConfigurationSection as one complete effect.

shape:
type: line
points: 8
particle:
type: flame

shape must contain a registered shape type.

particle.type must be a Bukkit Particle name. Names are case-insensitive and can use dashes instead of enum underscores.

particle:
type: flame
count: 3
offset-x: 0.1
offset-y: 0.2
offset-z: 0.1
extra: 0.0

Supported fields:

FieldRequiredDefaultMeaning
typeyesnoneBukkit particle enum name
countno1particle count per emitted point
offset-xno0.0Bukkit particle X offset
offset-yno0.0Bukkit particle Y offset
offset-zno0.0Bukkit particle Z offset
extrano0.0Bukkit particle extra value
datanononeadvanced particle data parsed by a registered particle-data parser

Advanced particle data such as dust, block data, or item data is not parsed by default. Register a ParticleDataConfigParser when your plugin needs those values.

When a Bukkit particle requires data, such as dust, block, or item, the config must provide compatible data. Particles that do not accept data reject custom particle data.

Numeric and boolean fields are type-checked. Optional defaults are used only when the key is absent; present values with invalid types fail with an EffectConfigException.

shape:
type: line
points: 16

Fields:

FieldRequiredMeaning
pointsyesnumber of points in the line
shape:
type: sphere
radius: 1.5
points: 64
angular-speed: 0.05

Fields:

FieldRequiredDefaultMeaning
radiusyesnonesphere radius
pointsyesnonenumber of generated points
angular-speedno0.0frame-based rotation speed
shape:
type: cube
size: 2.0
points-per-edge: 6

Fields:

FieldRequiredMeaning
sizeyescube side length
points-per-edgeyesnumber of points generated on each edge
shape:
type: helix
strands: 2
particles-per-strand: 32
radius: 1.0
height: 3.0
turns: 2.0
rotation-speed: 0.1

Fields:

FieldRequiredDefaultMeaning
strandsyesnonenumber of helix strands
particles-per-strandyesnonepoints generated per strand
radiusyesnonehelix radius
heightyesnonehelix height
turnsyesnonenumber of turns
rotation-speedno0.0frame-based rotation speed
shape:
type: spiral-helix
strands: 2
particles-per-strand: 32
radius: 1.0
height: 3.0
curve: 1.5
rotation-speed: 0.1
reverse: false

Fields:

FieldRequiredDefaultMeaning
strandsyesnonenumber of strands
particles-per-strandyesnonepoints generated per strand
radiusyesnonespiral radius
heightyesnonespiral height
curveyesnonespiral curve factor
rotation-speedno0.0frame-based rotation speed
reversenofalsereverses spiral direction
shape:
type: moving-point
speed: 0.5
spacing: 0.25
amount-points: 3
ping-pong: true

Fields:

FieldRequiredDefaultMeaning
speedyesnonemovement speed
spacingyesnonedistance between generated moving points
amount-pointsyesnonenumber of generated moving points
ping-pongnofalsemoves back and forth instead of wrapping

Transforms are applied in list order.

transforms:
- type: translate
x: 0
y: 1
z: 0
- type: rotate
yaw: 45
pitch: 0
roll: 0
- type: translate
x: 0
y: 1
z: 0

x, y, and z are required.

- type: rotate
yaw: 45
pitch: 0
roll: 0

yaw, pitch, and roll are optional and default to 0.0.

- type: look-at
forward-axis:
x: 0
y: 0
z: 1

forward-axis is optional. When present, x, y, and z are required inside it.

direction:
type: none

Supported direction providers:

TypeMeaning
nonealways emits a zero direction vector
toward-targetpoints from the effect origin toward the render target, or zero when no target exists