pulse_ring¶
type: "pulse_ring"
A glowing ring around each position. With billboard:1 (default) the ring always faces the camera (perfect circle from any angle); with billboard:0 it stays in a fixed plane rotated by rot_x/rot_y/rot_z.
Fields¶
Every world overlay also accepts
positions(static or entity-anchored),regionor thepos_x/pos_y/pos_zparams, plus the shared definition fields (duration,easing,loop,persistent,fade_ticks,sound).
| Field | Type | Default | Meaning |
|---|---|---|---|
radius |
float | 0 -> 6 | Current ring radius, blocks (animate 0 -> max) |
thickness |
float | 0.5 | Ring band width, blocks (0 = no band, the ring is not drawn) |
billboard |
float | 1 | 1 = always faces the camera, 0 = fixed orientation by rot_* |
rot_x |
float | 0 | Fixed ring-plane pitch (degrees, -360..360, when billboard:0) |
rot_y |
float | 0 | Fixed ring-plane yaw (degrees, -360..360, when billboard:0) |
rot_z |
float | 0 | Fixed ring-plane roll (degrees, -360..360, when billboard:0) |
red/green/blue |
float | 1 / 0.35 / 0.1 | Ring colour |
through_blocks |
float | 0 | 1 = visible through walls |
intensity |
float | 1 (fades to 0) | Ring opacity |
Example¶
{
"type": "pulse_ring",
"duration": 60,
"params": { "radius": 0, "thickness": 0.5, "billboard": 1, "rot_x": 0, "rot_y": 0, "rot_z": 0 }
}
Code¶
Its datapack definition:
{
"type": "pulse_ring",
"duration": 160,
"easing": "ease_in_out_cubic",
"persistent": true,
"loop": true,
"fade_ticks": 12,
"positions": [
[
2000,
100.2,
2000
]
],
"params": {
"red": 1.0,
"green": 0.35,
"blue": 0.1,
"radius": {
"keyframes": [
{
"time": 0,
"value": 0.0
},
{
"time": 80,
"value": 6.0
},
{
"time": 160,
"value": 0.0
}
]
},
"thickness": 0.4,
"billboard": 1.0,
"through_blocks": 0.0,
"intensity": {
"keyframes": [
{
"time": 0,
"value": 0.2
},
{
"time": 80,
"value": 1.0
},
{
"time": 160,
"value": 0.2
}
]
}
}
}