Skip to content

Commands

Every server command is under /vfx. Permissions: /vfx play, /vfx playat, /vfx playentity, /vfx stop and /vfx set need operator rights (gamemaster level); /vfx list is open to everyone. /vfxconfig is a separate client-only command (see below) - it is not sent to the server, so it needs no permission and is available to every player on any server.

/vfx play <effect> [{[param:value],...}] [players]

Play an effect (default: to yourself). The optional param-map overrides the definition's default params, including world coordinates (pos_x/y/z) - like overrides in the Java API. Tab autocompletes.

/vfx play vfxweaver:chromatic_aberration
/vfx play vfxweaver:blur {[radius:10]}
/vfx play mymap:flash {[color_r:1],[alpha:0.8]} @a

Repeated /vfx play of the same effect does not replace the playing instance - it adds another independent one (several dents on screen at once). Up to 64 effects play at once in total.

/vfx playat <effect> <x> <y> <z> [{[...]}] [players]

Play an effect anchored to world coordinates. The client re-anchors spatial bindings (screen_x/y, proximity) to that point and uses it for the effect's positions (e.g. block_tint/block_outline).

/vfx playat vfxweaver:light_beam 8 70 8 {[radius:2],[top_scale:2]}

/vfx playentity <effect> [{[...]}] <targets> [players]

Play an effect on selected entities (a selector, e.g. @e[type=!player,distance=..10]). Targets are passed by UUID (up to 16) and apply to entity_tint/entity_outline/entity_displace. An effect definition may instead carry an entity_selector field, in which case plain /vfx play finds its own targets.

/vfx playentity vfxweaver:entity_outline @e[type=pig,limit=1] {[width:0.1]}
/vfx playentity vfxweaver:entity_tint @e[type=!player,distance=..10]

/vfx set <effect> {[param:value],...} [players]

Live override of params of a running effect, without restarting the timeline. If the effect is not running, a new instance starts with those values and the definition's own duration (it ends on schedule like a normal play). Tab walks the syntax: { → [ → param name → : value → ] → , (new pair) or }.

/vfx set vfxweaver:blur {[radius:12]}

/vfx stop <effect> [players]

Stop the effect (all its instances). Effects with fade_ticks > 0 fade out smoothly; otherwise they are removed instantly. Stopping one instance of an effect is only possible through the Java API (sendStop).

/vfx stop [<player>]

Stop every active effect of a player (default: the executing player). Also clears effects the executor's own client played locally. A bare token is parsed as an <effect> first, so target a player with a selector (@p/@a) or a name that is not a valid effect id.

/vfx stop vfxweaver:blur
/vfx stop @a

/vfx list

List all loaded definitions (built-ins + datapack).

/vfx validate [namespace]

Dry-run health check: prints how many definitions loaded and lists every broken datapack file with its parse error (optionally filtered by namespace, tab-completed). Operator-only. Useful for datapack development and server admin checks without digging through logs.

/vfxconfig

Opens the client settings screen. This is a client-side command: it is registered on the client, never reaches the server, needs no permission and works on any server (including a dedicated one). Its root is vfxconfig, not vfx, so it cannot shadow the server's /vfx tree. The screen edits the three post-chain settings and writes them to config/vfxweaver.json immediately:

Setting Values Default What it does
Chain Resolution Full / Half Half Runs of the heavy multi-tap screen passes render at half resolution when the run's summed tap count reaches 8.
Fusion On / Off On Compiles adjacent pointwise screen effects into one shader pass.
Remap On / Off On Fuses the one-tap remaps (distortion, vortex, pixelate, noise_warp, slice_shift) into the chain by re-evaluating the prefix at shifted uvs; this can slightly soften edges.

A JVM system property overrides the file (-Dvfxweaver.chainres=1.0 or 0.5, -Dvfxweaver.fusion=false, -Dvfxweaver.fusion.remap=false), and the file overrides the default; an in-game change applies without restarting.

/vfxconfig

Notes

  • Param-map limits: the param-map overrides params only - duration and fade_ticks are definition fields and cannot be changed from a command. To get a persistent built-in effect with a smooth exit, wrap it in a datapack definition (Datapack format).
  • expr is datapack-only: command param-maps accept floats, not expressions (Expressions).
  • Effects are defined in datapacks - see the Datapack format and the effect pages. Collections (several effects from one play) are a definition type, not a command: collection.

See also