Back to mods
VFXWeaver API project artwork

Modrinth · Minecraft mod

VFXWeaver API

Cinematic VFX library for Fabric. Create screen post-processing, camera shake, and block/entity highlights from your datapacks or server-side mods via a simple Java API.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which VFXWeaver API release should I use?

Updated today
Latest stable file 1.1.4
Game version 1.21.11
Loader Fabric

VFXWeaver API 1.1.4 targets 1.21.11 with Fabric. Installation on the client is optional. Installation on the dedicated server is optional. No extra mods listed for this file.

Where it goes

Is VFXWeaver API required on the client, server, or both?

Installation on the client is optional. Installation on the dedicated server is optional.

Client Optional
Dedicated server Optional
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source marks this as usable on both the client and server.

What else does VFXWeaver API 1.1.4 need?

1.1.4. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add VFXWeaver API without breaking your instance.

Built for VFXWeaver API 1.1.4. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.1.4. It targets 1.21.11 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    Installation on the client is optional. Installation on the dedicated server is optional.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.1.4. It opens that exact file at the source.

About this project

What does VFXWeaver API add?

A client-side VFX library/API for Minecraft 26.2, 26.1.x and 1.21.11 (Fabric). Drop-in cinematic effects — screen post-processing, camera shake, block/entity overlays — either from chat commands, from datapacks, or programmatically from your own mod through a tiny Java API.

Author: Artition · License: MIT


What it does

  • 30+ post-processing effects rendered through a ping-pong FBO (fullscreen, per-pixel shaders): chromatic aberration, color grading, 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.
  • Camera effects — simplex-noise shake with a smooth envelope, dutch-angle roll, FOV modifier.
  • World block overlaysblock_tint and block_outline drawn as world-space geometry around blocks.
  • Entity effectsentity_tint / entity_outline applied to entities by UUID (second-pass model render, texture-aware).
  • Datapack-defined effects — plain JSON, no code. Keyframe animation, easing curves, world/camera/player bindings, math expressions, collections, sounds.
  • Server → client triggers — effects fired from a server command, or from your own mod over the network.
  • Public Java API for other mods (VFXAPI).

Requirements

Minecraft 26.2, 26.1.x, 1.21.11
Fabric Loader >= 0.18.4 (26.x) / >= 0.17.3 (1.21.11)
Fabric API required
Java 25+

Effect types

Screen post-processing

Effect What it does
chromatic_aberration RGB channel separation toward the screen edges
color_grade Saturation / contrast / brightness + tint
distortion Barrel / pincushion distortion of the screen
dent Local radial (or line) warp around a point / segment
gradient_map Maps luminance into a two-color gradient (linear or hard threshold)
posterize Reduces the number of colors (clean quantization)
blur Two-pass Gaussian blur
pixelate Pixelation
hue_isolation Keeps one hue, the rest goes grayscale
vignette Darkens / colors the screen edges
screen_flash Fullscreen color overlay
motion_blur Directional blur from camera rotation speed
bloom Glow around bright areas
film_grain Animated film grain
scanlines CRT bands drifting across the screen
depth_of_field Tilt-shift: sharp band, blur away from it
letterbox Cinematic bars top/bottom
invert Inverts the screen
vortex Swirls pixels into a funnel around a point
speed_lines Speed lines from the screen borders toward a point, random length per line
slice_shift A straight line slices the frame; the halves slide along it
noise_warp Animated value-noise field warps the picture in fluid patches
solarize Bright pixels invert, dark stay untouched
double_vision Two ghost copies of the frame with a slow drift
eyelids Two soft curved dark lids slide in from top and bottom
iris_wipe Old-film iris transition: everything outside a circle goes black
digital_glitch Band tearing + RGB split in gated bursts
vhs Worn tape: tracking band, wobble, colour bleed, washed contrast
shockwave A refraction ring ripples outward from a point
afterimage Decaying history echo — trails linger in a feedback buffer
stop_motion The picture updates only a few times per second

Camera

Effect What it does
camera_shake Simplex-noise shake with smooth envelope
camera_roll Dutch-angle tilt with optional sinusoidal wobble
fov_modifier Field-of-view change

World overlaysblock_tint, block_outline, light_beam (soft vertical column), pulse_ring (expanding ring), guide_line (dashed parabola arc)
Entity effectsentity_tint, entity_outline (by UUID), entity_displace (per-vertex displaced echo)


Quick start

All mutating commands require operator rights (/vfx list is open to all).

/vfx play vfxweaver:screen_flash
/vfx play vfxweaver:speed_lines {count:80, length:0.8, seed:"t * 2.0"}
/vfx playat vfxweaver:block_outline 100 64 200
/vfx playentity vfxweaver:entity_outline @e[type=!player,distance=..10]
/vfx stop vfxweaver:speed_lines
/vfx set vfxweaver:motion_blur {intensity:0.8}     # live override a running effect
/vfx list

Datapack effects (no modding)

Drop a JSON into data/<namespace>/vfx/<name>.json, run /reload, and the effect id is <namespace>:<name>:

{
  "type": "speed_lines",
  "duration": 60,
  "easing": "ease_out_cubic",
  "params": {
    "count": 80,
    "length": { "expr": "0.4 + 0.4 * t" },
    "seed": { "expr": "t * 2.0" },
    "intensity": 1.0
  }
}
  • Animated params via keyframes (t = 0..1 progress) or math expressions over player state (health, hunger, speed, light level, time of day, position).
  • World/camera/player bindings (bind: screen_x, bind: proximity, ...) so effects follow the world instead of the screen.
  • Collections — play several child effects with per-child delays.
  • Definitions sync automatically to clients on join and after /reload on dedicated servers.

Java API (for other mods)

Static entry point dev.vfxweaver.api.VFXAPI — a one-liner per call.

// Server → client
VFXAPI.sendEffect(serverPlayer,
    Identifier.fromNamespaceAndPath("vfxweaver", "screen_flash"),
    Map.of("intensity", 0.8F), null);

// With a world anchor (block/entity effects follow the position)
VFXAPI.sendEffect(player, effectId, somePos, Map.of(), null);

// Locally on the client (no packet)
VFXAPI.playEffect(Identifier.fromNamespaceAndPath("vfxweaver", "camera_shake"),
    20, Map.of("amplitude_x", 0.2F), null);

// Stop / live-tune
VFXAPI.sendStop(player, effectId);
VFXAPI.sendSetParam(player, effectId, "intensity", 0.3F);
VFXAPI.sendKeyframe(player, effectId, "intensity", 10, 1.0F, EasingType.EASE_OUT_CUBIC);

The network layer (vfxweaver:vfx_trigger) is protocol-versioned; the client silently ignores packets with an incompatible version. Full API, packet layout and definition-registry access are documented in the repo's docs/API.md.


Docs

Commands, effect params, datapack format, bindings — the full usage guide is in the project repo. Build it yourself with ./gradlew build (requires JDK 25), or grab a release jar from the Releases tab.

Project description from Modrinth.

Pick your setup

VFXWeaver API by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

5 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

VFXWeaver API versions and loaders

16 of 16 releases match

Looking for an older file? The official Modrinth project page is in Resources.