Compatibility
Minecraft: Java Edition
Platforms
Creators
Details


This datapack is automatically kept up to date.
It now stays in sync with the latest version of the mod. Prefer a different approach? You can still build your own config pack from our git repos or use a config mod like Cristel Lib
Please comment any ideas you may have to improve this mod. Any and all feedback is greatly appreciated :)
Additionally, if you make any configs you think other people would enjoy, send it to me on Discord and I'll be happy to upload it here!
All datapack versions work on Forge, NeoForge and Fabric.
This is a template ("config") datapack for my structure mod, Moog's End Structures. Everything MES generates is data-driven, so this pack lets you re-configure the mod (remove structures, change how rare they are, and control which biomes they spawn in) just by editing JSON files. No coding required.
Step 1: Install the datapack
- Download the version of this pack that matches your Minecraft version from the Versions tab above.
- Add it to your world:
- One world: drop the downloaded
.zipinto.minecraft/saves/<your world>/datapacks/. - Every world / on a server: use a datapack loader such as Paxi so the pack is applied globally instead of per-world.
- One world: drop the downloaded
- Enable it in-game: load the world and run
/datapack enable "file/<datapack file name>", or run/reloadif the pack is already in the folder.
โ ๏ธ Worldgen only affects new chunks. Changes to structure spawning, rarity, or biomes only appear in newly generated terrain. Already-explored chunks won't change. To see your edits, explore into fresh land or start a new world.
Step 2: Edit the pack
- Open the datapack
.zip(or unzip it) and browse to thedata/mes/folder. - Edit the JSON file for the thing you want to change (see the common tasks below).
- Save, re-zip if you unzipped it, then run
/reloadin-game (or regenerate the world) to apply.
Common things people want to do
Remove a structure completely
Open its file in data/mes/worldgen/structure_set/โฆ and empty the structures array so nothing spawns:
{
"structures": [],
"placement": {
"type": "mes:advanced_random_spread",
"salt": 136568741,
"spacing": 25,
"separation": 15,
"min_distance_from_world_origin": 1000
}
}
Example file: data/mes/worldgen/structure_set/other_decoration/astral_hideaway.json
Make a structure rarer or more common
In the same structure_set file, change spacing and separation. Larger spacing means rarer. separation must always be smaller than spacing.
"placement": {
"type": "mes:advanced_random_spread",
"salt": 136568741,
"spacing": 100,
"separation": 80,
"min_distance_from_world_origin": 1000
}
Change which biomes a structure spawns in
Edit the matching tag in data/mes/tags/worldgen/biome/has_structure/โฆ and add or remove entries from values:
{
"replace": false,
"values": [
"#minecraft:is_end",
{ "id": "#c:end_islands", "required": false }
]
}
- Plain biomes look like
"minecraft:end_highlands"; biome tags start with#, e.g."#minecraft:is_end". - Modded biomes/tags must use
"required": falseso the pack still loads when that mod isn't installed.
The tasks above cover the most common tweaks. Every JSON file in this pack (structures, template pools, placement types, biome tags and the .nbt building blocks) is documented in full on the Moog's Structure Lib Wiki:
๐ Moog's Structure Lib Wiki ยป
| What you want to edit | Wiki page |
|---|---|
| Where structures spawn (spacing, salt, biomes) | Structure Sets |
| A structure's type & properties | Structure Files |
| Which building pieces are used | Template Pools |
| Advanced placement & terrain adaptation | Placement Systems |
The .nbt structure files themselves |
NBT Files |
| New to all of this? | Getting Started |
The wiki's examples use Moog's Voyager Structures (MVS), but the layout is identical for MES. Just swap the mvs namespace for mes.

The best and fastest way to get help is to join our Discord server.




