Effects¶
An effect is a JSON definition at data/<namespace>/vfx/<name>.json; its id is
<namespace>:<name> and /reload loads it. Play one with /vfx play <id> (or
/vfx playentity for entity effects). The full definition schema is on the
Datapack format page; every effect below has its own page with its
complete field list and a copy-pasteable example.
How to read an effect page¶
- Every param is a float. Most "intensity-like" params are
0..1, where0= off. - Many built-ins animate their main param from the listed value down to 0 over the duration, so
the effect fades out on its own. Override the param (command param-map / API) and it becomes a
constant unless you animate it yourself (
start/end,keyframes,expr). - A live keyframe with a negative time starts its segment at the current moment, pinning the value the param has right now - see Animating a param.
screen_layer(screen effects only):0= under the first-person hand and GUI,1= above the hand below the GUI (default),2= above everything.
Shared fields¶
Every effect accepts fields that are not repeated in its own Fields table. A reader must check
these too:
Definition fields (any effect). type (required), duration, easing, loop, persistent,
fade_ticks, params, sound, sound_pos, volume, pitch — the complete list, types and
defaults is on Datapack format. These control how long the
effect runs, whether it loops or persists until stopped, how it fades, and its optional sound.
Screen effects additionally accept screen_layer (0/1/2, above). See
Datapack format.
World overlays (block_tint, block_outline, light_beam, pulse_ring, guide_line,
particles, block_chain) additionally accept:
positions— an array of[x, y, z]entries or entity anchors ({"entity": ..., "point": ..., "offset": ..., "dir": ..., "distance": ...}), documented on Datapack format.region— a box[x0,y0,z0,x1,y1,z1]that expands to every block in it, an alternative to listingpositions.pos_x/pos_y/pos_z— params used as a single world position when neitherpositionsnorregionis present; they can be constant, animated or bound.
Entity effects (entity_tint, entity_outline, entity_displace) are targeted by
/vfx playentity <effect> <selector> (up to 16 UUIDs) or by the entity_selector definition field,
which lets a plain /vfx play find its own targets. See
Datapack format.
Collections additionally accept effects (the child list) — see
collection.
Effect groups¶
Screen post-processing¶
Fullscreen shader passes, one per effect. They accept screen_layer.
- chromatic_aberration - RGB channel fringing towards the edges
- color_grade - saturation, contrast, brightness and tint
- distortion - barrel/pincushion warp
- dent - local lens warp at a point or along a segment
- gradient_map - luminance to a two-colour gradient
- posterize - colour quantization
- blur - two-pass Gaussian blur
- pixelate - pixelation
- hue_isolation - keep one hue, grayscale the rest
- vignette - edge darkening
- screen_flash - fullscreen colour overlay
- motion_blur - blur from camera rotation
- bloom - glow around bright areas
- film_grain - animated grain
- scanlines - CRT bands
- depth_of_field - sharp band with blur away from it
- letterbox - cinematic bars
- invert - invert colours
- vortex - swirl around a point
- speed_lines - radial speed lines
- slice_shift - slide the two halves of the frame apart
- noise_warp - fluid value-noise warp
- solarize - bright pixels invert
- double_vision - two drifting ghosts
- eyelids - soft lids closing from top and bottom
- iris_wipe - circular iris transition
- digital_glitch - banded tearing with RGB split
- vhs - worn VHS playback
- shockwave - expanding refraction ring
- afterimage - feedback echo trails
- stop_motion - hold the picture at a low frame rate
- surface_pattern - a world-anchored figure projected onto terrain
World overlays¶
World-space geometry drawn at positions (or entity anchors).
- block_tint - translucent fill over a block model
- block_outline - outline around a block model
- light_beam - vertical shaft of soft light
- pulse_ring - glowing ring around a point
- guide_line - dashed line along a parabolic arc
- particles - vanilla particles in animated shapes
- block_chain - real block-model links between anchors
Entity effects¶
Targets are set by /vfx playentity <effect> <selector>, the Java API, or the entity_selector
definition field. The client redraws the entity in a second pass over the original.
- entity_tint - texture-aware colour fill
- entity_outline - inverted-hull silhouette
- entity_displace - per-vertex displacement of the model
Camera and misc¶
Camera-space effects act on the camera transform; they do not accept screen_layer.
- camera_shake - simplex-noise shake
- camera_roll - fixed dutch angle with optional wobble
- fov_modifier - field-of-view change
Collections¶
- collection - play several child effects with per-child delays
Built-in effects¶
Built-ins ship as regular datapack JSON inside the mod jar (data/vfxweaver/vfx/*.json); they load
and sync like custom definitions and can be overridden by a higher-priority pack. To tweak one, copy
its JSON out of the jar into your own datapack under a new id.
- Post-processing:
chromatic_aberration,color_grade,distortion,dent,gradient_map,posterize,blur,pixelate,hue_isolation,vignette,screen_flash,motion_blur,bloom,film_grain,scanlines,depth_of_field,letterbox,invert,vortex,speed_lines,slice_shift,noise_warp,solarize,double_vision,eyelids,iris_wipe,digital_glitch,vhs,shockwave,afterimage,stop_motion,surface_pattern,graph_demo,graph_logic_demo,dent_field_demo,tint_field_demo. - World overlays:
block_tint,block_outline,light_beam,pulse_ring,guide_line,particles,block_chain. - Entity effects:
entity_tint,entity_outline,entity_displace. - Camera:
camera_shake,camera_roll,fov_modifier.
Built-in ids need their namespace (vfxweaver:<name>); there is no minecraft: fallback.
See also¶
- Commands - play, stop, set params and target entities.
- Datapack format - files, definition fields, positions, validation.
- Animating a param - keyframes, bindings, easings.
- Expressions (
expr) - drive a param from a formula. - Value graphs, Per-pixel fields, Masks, Custom particles.