Configuration Reference
Complete reference for RemapIDs configuration. All configuration is done through JSON files placed in config/remapids/remaps/.
If your remaps aren't taking effect, check for JSON syntax errors. A misplaced comma or missing bracket will cause the file to fail silently. Use a JSON validator to verify your files.
File Structure
- Remap configs:
config/remapids/remaps/*.json— all.jsonfiles are loaded automatically in alphabetical order - Custom numerical IDs:
config/remapids/numerical_ids.json— optional file for modded pre-1.13 numerical ID mappings (see Numerical IDs Guide) - Each remap file is independent — organize however you like (e.g., one file per removed mod, one file per remap type)
remaps
The top-level remaps array contains all remap entries for the file.
Type: Array of remap objects
{
"remaps": [
{
"source": "oldmod:copper_ingot",
"target": "minecraft:copper_ingot",
"types": ["item", "block"]
},
{
"source": "oldmod:copper_ore",
"target": "minecraft:copper_ore"
}
]
}
remaps[].source
The original ID to redirect.
Type: String (namespaced ID or numerical ID)
- Namespaced ID:
namespace:pathformat (e.g.,"oldmod:silver_ingot") - Numerical ID: Pre-1.13 numerical block/item ID, optionally with metadata (e.g.,
"1","35:14") — see Numerical IDs Guide - Supports
*wildcard for pattern matching (see Wildcards Guide) - Prefix with
#for tag remaps (e.g.,"#forge:ingots/gold") — see Tag Remapping Guide
{
"source": "oldmod:silver_ingot",
"target": "newmod:silver_ingot"
}
Numerical ID example
{
"source": "35:14",
"target": "somemod:red_block",
"types": ["block"]
}
The numerical ID 35:14 (red wool in pre-1.13) is automatically resolved to minecraft:red_wool before processing. See the Numerical IDs Guide for details.
remaps[].target
The destination namespaced ID that the source will be redirected to.
Type: String (namespaced ID)
- Same format requirements as
source - If
sourceuses*,targetmust also use*(and vice versa) - For registry types, the target must exist in the game's registries — a warning is logged if it's not found at validation time, but injection is still attempted (modded targets may not be registered yet during early validation)
{
"source": "oldmod:*",
"target": "newmod:*"
}
remaps[].types
Optionally filter which remap types this entry applies to.
Type: String array (optional)
Default: [] (empty = applies to all 7 types)
| Value | Category | Requires Restart | Description |
|---|---|---|---|
block | Registry | Yes | Block registry IDs |
item | Registry | Yes | Item registry IDs |
fluid | Registry | Yes | Fluid registry IDs |
entity_type | Registry | Yes | Entity type registry IDs |
tag | Reloadable | No | Tag definitions |
recipe | Reloadable | No | Recipe IDs and ingredient/result references |
loot_table | Reloadable | No | Loot table ID lookups and item references |
Filtered example
Only remap items and blocks — leave tags, recipes, and loot tables unchanged:
{
"source": "oldmod:silver_ingot",
"target": "newmod:silver_ingot",
"types": ["item", "block"]
}
Unfiltered example
Apply to all remap types (block, item, fluid, entity_type, tag, recipe, loot_table):
{
"source": "oldmod:silver_ingot",
"target": "newmod:silver_ingot"
}
Processing Pipeline
When the game loads, RemapIDs processes config files in this order:
- Parse — All
.jsonfiles in the remaps directory are loaded alphabetically - Resolve numerical IDs — Pre-1.13 numerical sources (e.g.,
"35:14") are converted to post-flattening string IDs (e.g.,"minecraft:red_wool") - Expand wildcards —
*patterns are matched against known registry IDs - Group by type — Entries are organized by their applicable remap types
- Flatten chains — Transitive mappings are resolved (A→B + B→C = A→C, max depth 10)
- Warn — Registry type targets are checked against known IDs. Missing targets produce a warning but are not removed — modded targets may not be registered yet at this point
- Apply — The final remap configuration is activated. On Forge, alias injection happens via
FMLLoadCompleteEventto ensure all modded content is available. Block state IDs are remapped inBlock.BLOCK_STATE_REGISTRYfor consistent network serialization
Example Config Files
Mod migration
{
"remaps": [
{
"source": "iceandfire:silver_ingot",
"target": "thermal:silver_ingot",
"types": ["item"]
},
{
"source": "iceandfire:silver_block",
"target": "thermal:silver_block",
"types": ["block", "item"]
},
{
"source": "iceandfire:silver_ore",
"target": "thermal:silver_ore",
"types": ["block", "item"]
}
]
}
Replace vanilla with modded
{
"remaps": [
{
"source": "minecraft:copper_block",
"target": "create:brass_block",
"types": ["item", "block"]
},
{
"source": "minecraft:copper_ingot",
"target": "create:brass_ingot",
"types": ["item"]
}
]
}
Tag consolidation
{
"remaps": [
{
"source": "#iceandfire:ingots/silver",
"target": "#forge:ingots/silver",
"types": ["tag"]
},
{
"source": "#iceandfire:ores/silver",
"target": "#forge:ores/silver",
"types": ["tag"]
}
]
}