Dimensional Structure Restrict
A lightweight mod that allows you to control where structures can spawn based on dimension and structure rules. This mod provides fine-grained control over world generation behavior — especially useful for modpack developers and world designers.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Dimensional Structure Restrict
Dimensional Structure Restrict
DimStructRestrict is a lightweight Minecraft Forge mod for Troy Cook (@cookta2012) that allows you to Troy Cook (@cookta2012) based on dimension and structure rules. Designed and developed by Troy Cook (@cookta2012), this mod provides fine-grained control over world generation behavior — especially useful for modpack developers and world designers.
Initial release will be 1.20.1 other versions will be coming later.
---
🌍 Features
- Prevent or allow specific structures from generating in specific dimensions. - Define whitelist or blacklist rules. - Optionally flag structures to not place the structure while it believes it placed it. - JSON-based configuration — supports comments and regenerates missing keys automatically. - Logs rule enforcement with structure/dimension context for debugging.
---
🔧 Configuration
The config file is located at: ``` <minecraft_root>/config/dimstructrestrict.json ```
If the file doesn't exist, it will be generated with example entries.
---
📐 Structure of `dimstructrestrict.json`
```jsonc { "structures": [ { // Individual structure rules will override dimension rules FULL STOP "id": "minecraft:village_plains", // Structure ID "whitelist": ["minecraft:overworld"], // Allowed dimensions "false_place": false, // If true, the structure will be "falsely placed" (may break mods) "active": true // Whether this rule is active } ], "dimensions": [ { "id": "minecraft:overworld", // Dimension ID "whitelist": [], // Structures allowed in this dimension "active": true } ] } ```
---
🧠 Rule Types
✅ `whitelist`
Only listed dimensions or structures are allowed.
❌ `blacklist`
Listed dimensions or structures will be prevented.
⚙️ `false_place` (optional, default `false`)
If `true`, prevents the structure from placing without skipping the generation step meaning it is marked on the map as generated.
> ⚠️ May cause issues with some structure-dependent mods.
🔄 `active` (optional, default `false`)
Controls whether the rule is enforced. Useful for temporarily disabling rules without removing them.
---
🧪 Example Use Case
```json { "structures": [ { "id": "minecraft:ruined_portal", "blacklist": ["minecraft:the_end", "minecraft:the_nether"], "active": true } ], "dimensions": [ { "id": "minecraft:overworld", "whitelist": ["minecraft:village_savanna", "minecraft:village_plains"], "false_place": true, "active": true } ] } ```
---
🛠️ Advanced Setup
The mod uses a generic `Rule` system internally with two maps:
- `STRUCTURE_RULES` for structure-specific rules - `DIMENSION_RULES` for dimension-based restrictions
Each `Rule` is backed by: - `id`: ResourceLocation - `mode`: WHITELIST or BLACKLIST - `resource`: Set of targets (structure/dimension IDs) - `false_place`: Boolean - `active`: Boolean
---
🧑💻 Developer Notes
- Author: Troy Cook - GitHub: Troy Cook - Language: Java - Environment: Minecraft Forge for Minecraft 1.20.1
---
📄 License
MIT License.
---
📬 Feedback & Contributions
Feel free to open an issue or fork the project if you'd like to expand the system (e.g., gamerule-based control, datapack integration, or GUI support).