Community listing page, reviews may not be monitored by the author.
Radial Patterns
No reviews yet
Minecraft datapack library for randomized radial callback patterns
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Radial Patterns
Radial Patterns is a small Minecraft Java Edition datapack library for running your own functions across randomized block patterns around an origin.
It does not change blocks, damage entities, or run on tick by itself. Other datapacks call it and provide the functions that should run at each selected position.
Good fits include splashes, bursts, weathering, corrosion, frost, magic effects, mining tools, and other effects that should feel irregular without doing live raycasts.
Compatibility
- Minecraft: Java Edition 26.2
- Data pack format: 107
- License: MIT
Install
Download the release zip and put it in your world's datapacks folder:
<world>/datapacks/radial-patterns-<version>.zip
Then run:
/reload
Use
Call radial_patterns:apply at the center of your effect and pass one callback function for each layer:
execute positioned <x> <y> <z> run function radial_patterns:apply {outer_func:"example:outer",middle_func:"example:middle",inner_func:"example:inner"}
Each callback runs at the block positions selected for that layer. The layers run in this order:
outer
middle
inner
Coordinates can overlap, so the same position may receive more than one callback execution. This is useful for effects that should become stronger toward the center.
Example
Create a callback:
# data/example/function/puff.mcfunction
particle minecraft:dust{color:[1.0,0.2,0.1],scale:0.8} ~ ~ ~ 0.18 0.18 0.18 0 4 force
Call the library:
execute at @s run function radial_patterns:apply {outer_func:"example:puff",middle_func:"example:puff",inner_func:"example:puff"}
For block-changing effects, keep callbacks cheap and reject irrelevant blocks first:
execute if block ~ ~ ~ #example:affected_blocks run function example:process_block
Shape
The generated patterns use 81 possible relative coordinates:
- the central
3x3x3cube; - one centered
3x3face extending from each side of that cube.
This gives a compact radius-two shape without scanning every corner of a full 5x5x5 cube.
Each invocation randomly selects one generated pattern from each layer. The default release includes 8 patterns per layer, for 8 x 8 x 8 = 512 possible layer combinations.
Developer Notes
Repository layout
radial-patterns/
├── data/
│ ├── minecraft/tags/function/load.json
│ ├── radial_patterns/function/apply.mcfunction
│ ├── radial_patterns/function/load.mcfunction
│ ├── radial_patterns/function/dispatch/
│ ├── radial_patterns/function/patterns/
│ └── radial_patterns_test/function/puff.mcfunction
├── tools/generate-patterns.py
├── pack.mcmeta
├── pack.png
├── README.md
└── LICENSE
Regenerate patterns
Pattern and dispatcher files are generated ahead of time:
python3 tools/generate-patterns.py --clean --patterns 8 --seed 365 --manifest build/pattern-manifest.json
The generator validates that every coordinate is inside the canonical 81-coordinate shape and avoids duplicate patterns within each layer.
Export a release zip
From the repository root:
mkdir -p dist
zip -r dist/radial-patterns-1.0.0.zip pack.mcmeta pack.png data -x '*/.DS_Store'
Upload that zip to Modrinth as the datapack file.
Test locally
- Copy or symlink the repo into a world's
datapacksfolder. - Run
/reload. - Run the included particle test:
execute positioned ~ ~ ~ run function radial_patterns:apply {outer_func:"radial_patterns_test:puff",middle_func:"radial_patterns_test:puff",inner_func:"radial_patterns_test:puff"}
Expected behavior: a randomized clustered particle burst appears inside the radius-two shape, and repeated calls vary because each layer selects a random generated pattern.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
(opens in a new tab)
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers