
Modrinth · Minecraft mod
ParticleDrawing
A high-performance particle animation library.
Quick answer
Which ParticleDrawing release should I use?
ParticleDrawing 1.0.23-ALPHA targets 26.2 with NeoForge. Installation on the client is optional. Installation on the dedicated server is optional. No extra mods listed for this file.
Where it goes
Is ParticleDrawing required on the client, server, or both?
Installation on the client is optional. Installation on the dedicated server is optional.
The source marks this as usable on both the client and server.
What else does ParticleDrawing 1.0.23-ALPHA need?
1.0.23-ALPHA. Change the file and its required mods may change too.
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 ParticleDrawing without breaking your instance.
Built for ParticleDrawing 1.0.23-ALPHA. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.0.23-ALPHA. It targets 26.2 with NeoForge; another release may have different loader, side or dependency requirements.
- 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.
- 03
Put it on the correct side
Installation on the client is optional. Installation on the dedicated server is optional.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.0.23-ALPHA. It opens that exact file at the source.
About this project
What does ParticleDrawing add?
ParticleDrawing
A server-authoritative particle effects library for NeoForge. It plays the animations exported by the
ParticleDrawing editor and exposes a Kotlin/Java API for drawing and
animating particles directly from code.
Particles are created and owned by the server, while clients evaluate and render them locally.
Declarative features such as choreographed groups, life curves and runtime emitters are sent once and
evaluated on the client, so a running effect costs little to no per-tick bandwidth.
Features
- Play
.pdrawcfiles from<gameDir>/animations/with a command, or from code throughServerAnimationManager, including runtime variable updates. - Draw lines, circles, discs, curves, polylines, triangles, hexagrams, rectangles, spheres and cuboids
from code withDraw, with gradient coloring and per-particle entrance delays. - Record a timeline of moves, rotations, scaling, pulses, color fades and expression- or entity-driven
motion on aParticleGroup; the client plays it back at render-frame rate. - Declare a trail or an aura once as a runtime emitter and let each client emit along the anchor, per
distance travelled or per interval, with deterministic per-particle jitter. - Spawn up to 256 particle specs per packet, with automatic chunking for the bulk position, velocity,
force and track operations. - Use per-particle textures, sub-rectangle UVs, anisotropic sizes, fixed orientation, additive
blending, built-in soft-dot/line shapes and PNG registration that syncs itself to clients, without a
resource pack. - Register effects with movable anchors, control their playback clock, play OGG/WAV audio and light
particles dynamically.
Requirements
| Component | Version |
|---|---|
| Minecraft | 26.2 |
| NeoForge | 26.2.0.59+ |
| Java | 25 |
Installation
Players
- Install NeoForge for Minecraft 26.2.
- Put the mod jar into the
mods/folder, or install it from Modrinth. - Export an animation from the editor and place the
.pdrawcfile into<gameDir>/animations/. - Use the
/pdrawcommand in game. Animations are loaded on demand, so the game does not have to be
restarted after adding or replacing one.
Developers
The library is published to Maven Central:
// build.gradle.kts
dependencies {
compileOnly("work.nekow:particledrawing:<version>")
localRuntime("work.nekow:particledrawing:<version>")
}
Replace <version> with the newest release, shown by the Maven Central badge above or on
Maven Central. To ship the library
inside your own jar instead of requiring players to install it, usejarJar(implementation("work.nekow:particledrawing:<version>")).
Declare the dependency in META-INF/neoforge.mods.toml as well:
[[dependencies.${mod_id}]]
modId = "particledrawing"
type = "required"
ordering = "AFTER"
A minimal effect:
import net.minecraft.world.phys.Vec3
import work.nekow.particledrawing.api.Draw
import work.nekow.particledrawing.api.ParticleManager
val manager = ParticleManager.of(level)
Draw.circle(manager, Vec3(0.0, 70.0, 0.0), radius = 3.0, count = 80)
.fadeIn(15)
.spin(Vec3(0.0, 1.0, 0.0), Math.PI / 40)
.delay(100)
.stopContinuous()
.fadeOut(20)
More in the getting started guide.
Commands
| Command | Description |
|---|---|
/pdraw list |
List the animations available in animations/. |
/pdraw play <name> [pos] |
Play an animation at pos, or 3 blocks in front of the player. |
/pdraw stop |
Stop every animation and effect playing in the current dimension. |
/pdraw reload |
Reload particle textures from disk (client side only). |
/pdraw camera <name|stop> |
Preview through a camera of a playing animation. |
/pdraw var <name> <value> |
Update a function object variable of the playing animations. |
/pdraw debug |
Print evaluation time, particle count and timeline of playback. |
Documentation
| Document | Contents |
|---|---|
| getting-started.md | Dependency setup, first effect, core concepts. |
| guide.md | Drawing, choreographed groups, handles, batches, emitters, animations. |
| api-reference.md | Class index grouped by package. |
| known-issues.md | Known limitations and behavior differences against the editor. |
Building from source
git clone https://github.com/NekoWs/ParticleDrawing.git
cd ParticleDrawing
./gradlew build # compile and run the test suite
./gradlew runClient # start a development client
./gradlew runServer # start a development server
The build requires JDK 25. Runtime artifacts are written to build/libs/.
Releasing
mod_version in gradle.properties is the single source of truth. Whenever it changes, the same
commit gets a matching tag (v<mod_version>). Pushing such a tag publishes the artifact to Maven
Central through publish.yml and the version to Modrinth
through modrinth.yml, which also syncs this README into the project body. Both workflows fail if the
tag name does not match mod_version; there is no release without a tag.
License
Licensed under the Apache License 2.0.
Project description from Modrinth.
Pick your setup
ParticleDrawing by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
ParticleDrawing versions and loaders
1.0.23-ALPHA
particledrawing-1.0.23-ALPHA.jar
10 Nov 2026
1.0.22-ALPHA
particledrawing-1.0.22-ALPHA.jar
25 Oct 2026
Looking for an older file? The official Modrinth project page is in Resources.