
Remap IDs
Redirect item, block, entity, fluid, tag, recipe, and loot table IDs to alternative IDs at runtime
- Загрузки
- 2K
- Подписчики
- 5
- Обновлён
- 8 июля 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 23 марта 2026 г.
RemapIDs
Remap any item, block, fluid, or entity ID to another — data-driven, zero-config code.
RemapIDs is a utility mod for modpack developers that lets you redirect registry IDs throughout the entire game using simple JSON files. Unify duplicate ores across mods, replace deprecated items, or migrate worlds between mod versions — all without writing a single line of code.
Features
Registry Remapping Remap across 7 registry types:
- Blocks, Items, Fluids, Entity Types
- Tags, Recipes, Loot Tables
Remaps are applied deeply — recipes, loot tables, tags, NBT data in inventories and containers are all automatically rewritten.
Data-Driven Configuration
Drop JSON files into config/remapids/remaps/ and you're done:
{
"remaps": [
{
"source": "iceandfire:silver_ingot",
"target": "othermod:silver_ingot",
"types": ["item", "recipe", "loot_table"]
}
]
}
Wildcard Patterns Bulk-remap entire families of items with a single rule:
{
"source": "iceandfire:silver_*",
"target": "othermod:silver_*"
}
Tag-to-Item Recipe Conversion Replace tag ingredients in recipes with specific items:
{
"source": "#forge:ingots/silver",
"target": "othermod:silver_ingot",
"types": ["recipe"]
}
Smart Chain Resolution If A remaps to B and B remaps to C, the mod automatically flattens this to A→C. Circular dependencies are detected and rejected.
Live Reloading
Tag, recipe, and loot table remaps are reapplied on /reload — no restart needed.
Zero Runtime Overhead Block, item, fluid, and entity remaps are applied as registry aliases at startup. After that, there's no performance cost.
Supported Versions
| Minecraft | Loader |
|---|---|
| 1.20.1 | Forge |
| 1.20.1 | Fabric |
| 1.21.1 | NeoForge |
| 1.21.1 | Fabric |
Use Cases
- Ore unification — Redirect all silver ingots from 5 different mods to one canonical ID
- Mod migration — Swap out a removed mod's items for replacements without breaking existing worlds
- Loot/recipe cleanup — Rewrite loot tables and recipes to use the items you want
- World upgrades — Items already in inventories and containers are remapped via NBT on load
Getting Started
- Install the mod for your loader
- Create
config/remapids/remaps/if it doesn't exist - Add any number of
.jsonfiles with your remap definitions - Launch the game — remaps are applied automatically
Ченджлог
2.0.0+fabric-1.21.1Релиз1.21.1 · 8 июля 2026 г.
2.0.0
Changed
- Live registry aliasing removed. Remaps no longer mutate lookup maps for registered IDs or redirect
ForgeRegistry.getValue()for them. This eliminates the whole class of crashes where another mod looks up its own ID and casts the result (the 1.3.2 Create/ThermalClassCastExceptionwas one instance; block/fluid/entity lookups were still exposed). Lookups of IDs that still exist always return the real registered object. - World migration is uniform across all loaders. Chunk palette block IDs, item stacks, and entity type IDs in save data are rewritten at deserialization on Forge, Fabric 1.20.1/1.21.1, and NeoForge. Conversion persists when chunks re-save, so a fully converted world no longer depends on RemapIDs staying installed. Forge additionally keeps its native
MissingMappingsEventhandling. - JSON rewriting is context-aware.
namefields are only treated as IDs inside typed loot entries (minecraft:item,minecraft:tag,minecraft:loot_table), so display-name fields are no longer corrupted. Loot-table reference entries now honorloot_tableremaps and tag entries honortagremaps.
Added
- Missing ID resolution — registry lookups of a remapped source ID that no longer exists resolve to the target, so custom recipe types, advancements,
/give, and other mods' JSON referencing a removed ID keep working. IDs that still exist are never redirected, so this cannot cause the crashes that live aliasing did. - Entity type remapping in world data — saved entities, passengers, and spawner spawn data are remapped on all loaders.
- 1.21 recipe result support — recipe results using the
idkey (and 1.20 string-form stonecutting results) are now rewritten.
Removed
- Block state ID patching (
Block.BLOCK_STATE_REGISTRY). Block conversion happens in the chunk palette instead, which is lossless for matching properties and no longer risks corrupting network state IDs.
2.0.0+neoforge-1.21.1Релиз1.21.1 · 8 июля 2026 г.
2.0.0
Changed
- Live registry aliasing removed. Remaps no longer mutate lookup maps for registered IDs or redirect
ForgeRegistry.getValue()for them. This eliminates the whole class of crashes where another mod looks up its own ID and casts the result (the 1.3.2 Create/ThermalClassCastExceptionwas one instance; block/fluid/entity lookups were still exposed). Lookups of IDs that still exist always return the real registered object. - World migration is uniform across all loaders. Chunk palette block IDs, item stacks, and entity type IDs in save data are rewritten at deserialization on Forge, Fabric 1.20.1/1.21.1, and NeoForge. Conversion persists when chunks re-save, so a fully converted world no longer depends on RemapIDs staying installed. Forge additionally keeps its native
MissingMappingsEventhandling. - JSON rewriting is context-aware.
namefields are only treated as IDs inside typed loot entries (minecraft:item,minecraft:tag,minecraft:loot_table), so display-name fields are no longer corrupted. Loot-table reference entries now honorloot_tableremaps and tag entries honortagremaps.
Added
- Missing ID resolution — registry lookups of a remapped source ID that no longer exists resolve to the target, so custom recipe types, advancements,
/give, and other mods' JSON referencing a removed ID keep working. IDs that still exist are never redirected, so this cannot cause the crashes that live aliasing did. - Entity type remapping in world data — saved entities, passengers, and spawner spawn data are remapped on all loaders.
- 1.21 recipe result support — recipe results using the
idkey (and 1.20 string-form stonecutting results) are now rewritten.
Removed
- Block state ID patching (
Block.BLOCK_STATE_REGISTRY). Block conversion happens in the chunk palette instead, which is lossless for matching properties and no longer risks corrupting network state IDs.
2.0.0+forge-1.20.1Релиз1.20.1 · 8 июля 2026 г.
2.0.0
Changed
- Live registry aliasing removed. Remaps no longer mutate lookup maps for registered IDs or redirect
ForgeRegistry.getValue()for them. This eliminates the whole class of crashes where another mod looks up its own ID and casts the result (the 1.3.2 Create/ThermalClassCastExceptionwas one instance; block/fluid/entity lookups were still exposed). Lookups of IDs that still exist always return the real registered object. - World migration is uniform across all loaders. Chunk palette block IDs, item stacks, and entity type IDs in save data are rewritten at deserialization on Forge, Fabric 1.20.1/1.21.1, and NeoForge. Conversion persists when chunks re-save, so a fully converted world no longer depends on RemapIDs staying installed. Forge additionally keeps its native
MissingMappingsEventhandling. - JSON rewriting is context-aware.
namefields are only treated as IDs inside typed loot entries (minecraft:item,minecraft:tag,minecraft:loot_table), so display-name fields are no longer corrupted. Loot-table reference entries now honorloot_tableremaps and tag entries honortagremaps.
Added
- Missing ID resolution — registry lookups of a remapped source ID that no longer exists resolve to the target, so custom recipe types, advancements,
/give, and other mods' JSON referencing a removed ID keep working. IDs that still exist are never redirected, so this cannot cause the crashes that live aliasing did. - Entity type remapping in world data — saved entities, passengers, and spawner spawn data are remapped on all loaders.
- 1.21 recipe result support — recipe results using the
idkey (and 1.20 string-form stonecutting results) are now rewritten.
Removed
- Block state ID patching (
Block.BLOCK_STATE_REGISTRY). Block conversion happens in the chunk palette instead, which is lossless for matching properties and no longer risks corrupting network state IDs.
2.0.0+fabric-1.20.1Релиз1.20.1 · 8 июля 2026 г.
2.0.0
Changed
- Live registry aliasing removed. Remaps no longer mutate lookup maps for registered IDs or redirect
ForgeRegistry.getValue()for them. This eliminates the whole class of crashes where another mod looks up its own ID and casts the result (the 1.3.2 Create/ThermalClassCastExceptionwas one instance; block/fluid/entity lookups were still exposed). Lookups of IDs that still exist always return the real registered object. - World migration is uniform across all loaders. Chunk palette block IDs, item stacks, and entity type IDs in save data are rewritten at deserialization on Forge, Fabric 1.20.1/1.21.1, and NeoForge. Conversion persists when chunks re-save, so a fully converted world no longer depends on RemapIDs staying installed. Forge additionally keeps its native
MissingMappingsEventhandling. - JSON rewriting is context-aware.
namefields are only treated as IDs inside typed loot entries (minecraft:item,minecraft:tag,minecraft:loot_table), so display-name fields are no longer corrupted. Loot-table reference entries now honorloot_tableremaps and tag entries honortagremaps.
Added
- Missing ID resolution — registry lookups of a remapped source ID that no longer exists resolve to the target, so custom recipe types, advancements,
/give, and other mods' JSON referencing a removed ID keep working. IDs that still exist are never redirected, so this cannot cause the crashes that live aliasing did. - Entity type remapping in world data — saved entities, passengers, and spawner spawn data are remapped on all loaders.
- 1.21 recipe result support — recipe results using the
idkey (and 1.20 string-form stonecutting results) are now rewritten.
Removed
- Block state ID patching (
Block.BLOCK_STATE_REGISTRY). Block conversion happens in the chunk palette instead, which is lossless for matching properties and no longer risks corrupting network state IDs.
1.3.2+fabric-1.21.1Релиз1.21.1 · 5 июля 2026 г.
1.3.2
Fixed
- Crash when a remapped source item is still installed — With both the source and target mods present, item remaps aliased the source ID's registry lookup to the target item. Any mod that looked up the source ID and cast it to the source's concrete type crashed. For example, Create: Vintage Improvements casts
create:golden_sheetto Create'sTagDependentIngredientItemwhen building its creative tab; withcreate:golden_sheet -> thermal:gold_plateconfigured it received Thermal'sCountedIteminstead, throwingClassCastExceptionthe moment the creative inventory opened. Item aliases are now only injected when the source ID is not a live registered item, so live lookups keep returning the real item. Remaps still apply for save migration once the source mod is removed. Fixed on all loaders.
1.3.2+forge-1.20.1Релиз1.20.1 · 5 июля 2026 г.
1.3.2
Fixed
- Crash when a remapped source item is still installed — With both the source and target mods present, item remaps aliased the source ID's registry lookup to the target item. Any mod that looked up the source ID and cast it to the source's concrete type crashed. For example, Create: Vintage Improvements casts
create:golden_sheetto Create'sTagDependentIngredientItemwhen building its creative tab; withcreate:golden_sheet -> thermal:gold_plateconfigured it received Thermal'sCountedIteminstead, throwingClassCastExceptionthe moment the creative inventory opened. Item aliases are now only injected when the source ID is not a live registered item, so live lookups keep returning the real item. Remaps still apply for save migration once the source mod is removed. Fixed on all loaders.
1.3.2+neoforge-1.21.1Релиз1.21.1 · 5 июля 2026 г.
1.3.2
Fixed
- Crash when a remapped source item is still installed — With both the source and target mods present, item remaps aliased the source ID's registry lookup to the target item. Any mod that looked up the source ID and cast it to the source's concrete type crashed. For example, Create: Vintage Improvements casts
create:golden_sheetto Create'sTagDependentIngredientItemwhen building its creative tab; withcreate:golden_sheet -> thermal:gold_plateconfigured it received Thermal'sCountedIteminstead, throwingClassCastExceptionthe moment the creative inventory opened. Item aliases are now only injected when the source ID is not a live registered item, so live lookups keep returning the real item. Remaps still apply for save migration once the source mod is removed. Fixed on all loaders.
1.3.2+fabric-1.20.1Релиз1.20.1 · 5 июля 2026 г.
1.3.2
Fixed
- Crash when a remapped source item is still installed — With both the source and target mods present, item remaps aliased the source ID's registry lookup to the target item. Any mod that looked up the source ID and cast it to the source's concrete type crashed. For example, Create: Vintage Improvements casts
create:golden_sheetto Create'sTagDependentIngredientItemwhen building its creative tab; withcreate:golden_sheet -> thermal:gold_plateconfigured it received Thermal'sCountedIteminstead, throwingClassCastExceptionthe moment the creative inventory opened. Item aliases are now only injected when the source ID is not a live registered item, so live lookups keep returning the real item. Remaps still apply for save migration once the source mod is removed. Fixed on all loaders.
Комментарии
Загружаем…