Dimensional Control is a lightweight Minecraft NeoForge mod for Minecraft 1.21.1 that allows you to control where resources can spawn based on dimension-based rules. This mod was derived from DimStructRestrict, a mod by Troy Cook (@cookta2012). This mod provides fine-grained control over world generation and spawning behavior — especially useful for modpack developers and world designers.
The config file is located at:
<minecraft_root>/config/dimensionalcontrol/definitions.json
If the file doesn't exist, it will be generated with example entries.
dimstructrestrict.json{
// Defines rules for allowing or denying structures.
"structures": [
{
// Dimension ResourceLocation (ID).
"dimension": "minecraft:overworld",
// Allowed structures, defined by ResourceLocation.
"whitelist": ["minecraft:village_plains"],
// Denied structures, cannot be present with whitelist!
//"blacklist": []
// Whether this rule is active.
"active": true
}
],
// Defines rules for allowing or denying structure pool elments.
"structurePoolElements": [
{
"dimension": "minecraft:overworld",
"blacklist": ["minecraft:village/common/well_bottom"],
"active": true
}
],
// Defines rules for allowing or denying features.
"features": [
{
"dimension": "minecraft:overworld",
"whitelist": ["minecraft:tree"],
"active": true
}
],
// Defines rules for allowing or denying entity spawns.
"entities": [
{
"dimension": "minecraft:the_end",
"blacklist": ["minecraft:enderman"],
"active": true
}
],
// Defines rules for allowing or denying loot.
"loot": [
{
"dimension": "minecraft:.+",
"whitelist": ["minecraft:diamond"],
"active": true
}
]
}
whitelistOnly listed resources are allowed. Cannot be present if blacklist is already present!
blacklistListed resources will be prevented. Cannot be present if whitelist is already present!
active (optional, default false)Controls whether the rule is enforced. Useful for temporarily disabling rules without removing them.
{
"structures": [
{
// This rule will only allow all village types (plains, desert, etc.) to generate in the overworld.
// Other structures in the overworld will not generate!
"dimension": "minecraft:overworld",
"whitelist": ["minecraft:village_.+"],
"active": true
},
{
// This rule will prevent the generation of bastion remnants in the nether.
"dimension": "minecraft:the_nether",
"blacklist": ["minecraft:bastion_remnant"],
"active": true
},
],
"structurePoolElements": [
{
// This rule will prevent wells being added to villages during overworld generation.
"dimension": "minecraft:overworld",
"blacklist": ["minecraft:village/common/well_bottom"],
"active": true
}
],
"features": [
{
// This rule will prevent all features except trees to be placed during overworld biome generation.
"dimension": "minecraft:overworld",
"whitelist": ["minecraft:tree"],
"active": true
}
],
"entities": [
{
// This rule will prevent enderman from spawning in the end dimension.
"dimension": "minecraft:the_end",
"blacklist": ["minecraft:enderman"],
"active": true
}
],
"loot": [
{
// This rule will only permit diamonds to be found in all loot pools of all minecraft dimensions.
// This includes mob and block drops as well as generated chests.
"dimension": "minecraft:.+",
"whitelist": ["minecraft:diamond"],
"active": true
}
]
}
Author: MattMckenzy, GitHub: @MattMckenzy
Original author: Troy Cook, GitHub: @cookta2012
MIT License.
Feel free to open an issue or fork the project if you'd like to expand the system (e.g., game rule based control, datapack integration, or GUI support).