Skip to content

Basically Static Particle

a datapacking utility mod that adds more useful interactions between the server and the client

FabricQuilt
Loaders
FabricQuilt
Downloads on Modrinth
1.1K
Followers on Modrinth
5
versions
37
Updated
October 15, 2026Oct 15
Published
in 2026
dither mixed with smooth · swipe

At a glance

Runs on Fabric and Quilt
For Minecraft 1.21.11, 26.3 …
Needed in the game and on the server
Latest version — 4.2-1.21 from October 15, 2026
License CC0-1.0 — free
Where it's needed
In gamerequiredOn serverrequired

Needed both in the game and on the server

Game versions1.21–1.21.8, 1.21.11, 26.3

⚠️ please keep in mind that the description is only maintained for the latest version

2 particle types are implemented

particles

static_particle

  • configurable color, alpha, size, lifetime, texture
  • is emissive (glow in the dark)

static_oriented

  • configurable color, alpha, sizeX, sizeY, lifetime, rotation, post_rotation, cull, texture
  • is emissive (glow in the dark)
note important thing to know is that all number arguments are actually string arguments, due to a limitation of minecrafts codebase, its so that the stuff listed below can work

⠀

  • all number arguments(the particle parameters) support ranges ("x..y"=random from x to y), rotation arguments also support ~ which will use the command rotation context on the appropriate axis

  • all number arguments except lifetime support animation sequences ("x->y->z" = animate from x to y to z), any amount of keyframes is supported, you can also add more dashes to control the timing of the keyframes

  • the rotation arguments support billboard as a value, which will cause the particle to face the players camera on he specified axes

  • also if youre wondering, post_rotation is just a second pass of rotation, technically redundant, just convenient
textures currently 8 textures are implemented:

dot

dither

smooth

pixel

shockwave

spark

dither_beam

smooth_beam

there are 5 standalone commands

commands

/fov <add|multiply|set|query> [interpolation type] [interpolation duration]

  • changes/gets the client FOV of the targets

/setperspective [camera distance]

  • changes the client perspective

/rendertext [duration] [opacity] {options}

  • displays text on the targets screens at the inputted position
  • {options} is a compound accepting offset:[x,y] extraColor:O/S#RGBA|none(S for shadow, O for outline, color also accepts `followx) hideWithHud/hudHidden:bool guiScaleIndependent/scaleIndependent:bool overlay:bool angle:int fade:{in:int,out:int} blend/blendMode:additive/add/glow | invert/inverted/exclusion/difference | multiply`

/log <client|server> [targets]

  • sends the message under the logger name in the client's/server's console (not in chat)

/camerarot [duration]

  • adds rotation offset to the client camera (linear interpolation)
note (roll works perfectly, yaw and pitch technically do too, just a bit un-intuitive, in most cases its better to use actual entity rotation instead)

the mod adds 3 conditions for predicates

predicates

mouse* condition

{
  "condition": "staticparticle:player_action",
  "action": "attack"/"pick_item"/"use"/"scroll_up"/"scroll_down",
  "context": "in_game"/"in_menu"
}
  • true when the target of the predicate is holding the respective buttons in the respective context

key condition

  • the mod adds 5 new keybinds that dont do anything, except for tell the server theyve been pressed by a client
{ 
  "condition": "staticparticle:special_key",
  "key": 0/1/2/3/4
}
  • true when the target of the predicate is holding the respective key

movement input condition

{ 
  "condition": "staticparticle:input",
  "action": "forward/back/left/right/jump/sprint/sneak"
}

the mod also adds a way for the server to send in values into resourcepack shaders

how to implement

add the datablock to a shader

layout(std140) uniform SP_Data {
    vec4 slots[64];
} uniformData;

you can now use `uniformData.slots[]` to get data from it, keep in mind, its a vec4

use `/execute store result uniform run - ` to send data into the shaders

values will be cached on the client until updated from the server, you can set a value once and itll stay for as long as the client is running, values are always passed in as integers since brigadier can only return integers anyway

FAQ

How to install Basically Static Particle?

Install Fabric for your Minecraft version, download Basically Static Particle for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does Basically Static Particle support?

Basically Static Particle has builds for Minecraft 1.21–1.21.8, 1.21.11, 26.3.

Is Basically Static Particle needed on the server?

Needed in the game and on the server

License and source
Creative Commons Zero v1.0 Universalfree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More