COWMODSКаталог модов

Remap IDs

Redirect item, block, entity, fluid, tag, recipe, and loot table IDs to alternative IDs at runtime

Автор: TysonTheEmber3,8 тыс.11обновлён 13 авг. 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.

Wiki: https://tysontheember.dev/remap-ids/

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

MinecraftLoader
1.20.1Forge
1.20.1Fabric
1.21.1NeoForge
1.21.1Fabric

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

  1. Install the mod for your loader
  2. Create config/remapids/remaps/ if it doesn't exist
  3. Add any number of .json files with your remap definitions
  4. Launch the game, remaps are applied automatically

Последние версии

Все версии →
release

RemapIDs 2.1.0 (NeoForge 1.21.1)

2.1.0+neoforge-1.21.1
13 авг. 2026 г.353Minecraft: 1.21.1neoforge
Скачать
Что нового
## 2.1.0 ### Fixed - Block remaps now apply when a block is placed and while chunks generate, instead of only converting chunks that were loaded from disk. - Ore generation is remapped as well; it writes straight into chunk sections and used to bypass the conversion entirely. - Block properties shared by the source and target (facing, half, waterlogged, ...) carry over to the remapped block. ### Notes - A dimension's base terrain block (`minecraft:stone` in the overworld) is still left alone while chunks generate, because remapping it there stops vanilla surface rules from matching and the world loses its grass, dirt, deepslate and bedrock. It converts when the chunk is next loaded.
release

RemapIDs 2.1.0 (Forge 1.20.1)

2.1.0+forge-1.20.1
13 авг. 2026 г.212Minecraft: 1.20.1forge
Скачать
Что нового
## 2.1.0 ### Fixed - Block remaps now apply when a block is placed and while chunks generate, instead of only converting chunks that were loaded from disk. - Ore generation is remapped as well; it writes straight into chunk sections and used to bypass the conversion entirely. - Block properties shared by the source and target (facing, half, waterlogged, ...) carry over to the remapped block. ### Notes - A dimension's base terrain block (`minecraft:stone` in the overworld) is still left alone while chunks generate, because remapping it there stops vanilla surface rules from matching and the world loses its grass, dirt, deepslate and bedrock. It converts when the chunk is next loaded.
release

RemapIDs 2.1.0 (Fabric 1.20.1)

2.1.0+fabric-1.20.1
13 авг. 2026 г.40Minecraft: 1.20.1fabric
Скачать
Что нового
## 2.1.0 ### Fixed - Block remaps now apply when a block is placed and while chunks generate, instead of only converting chunks that were loaded from disk. - Ore generation is remapped as well; it writes straight into chunk sections and used to bypass the conversion entirely. - Block properties shared by the source and target (facing, half, waterlogged, ...) carry over to the remapped block. ### Notes - A dimension's base terrain block (`minecraft:stone` in the overworld) is still left alone while chunks generate, because remapping it there stops vanilla surface rules from matching and the world loses its grass, dirt, deepslate and bedrock. It converts when the chunk is next loaded.
release

RemapIDs 2.1.0 (Fabric 1.21.1)

2.1.0+fabric-1.21.1
13 авг. 2026 г.43Minecraft: 1.21.1fabric
Скачать
Что нового
## 2.1.0 ### Fixed - Block remaps now apply when a block is placed and while chunks generate, instead of only converting chunks that were loaded from disk. - Ore generation is remapped as well; it writes straight into chunk sections and used to bypass the conversion entirely. - Block properties shared by the source and target (facing, half, waterlogged, ...) carry over to the remapped block. ### Notes - A dimension's base terrain block (`minecraft:stone` in the overworld) is still left alone while chunks generate, because remapping it there stops vanilla surface rules from matching and the world loses its grass, dirt, deepslate and bedrock. It converts when the chunk is next loaded.
release

RemapIDs 2.0.1 (NeoForge 1.21.1)

2.0.1+neoforge-1.21.1
4 авг. 2026 г.48Minecraft: 1.21.1neoforge
Скачать
Что нового
## 2.0.1 ### Fixed - Tag remapping no longer prevents later reload hooks, including KubeJS scripted tag creation, from running.
release

RemapIDs 2.0.1 (Forge 1.20.1)

2.0.1+forge-1.20.1
4 авг. 2026 г.44Minecraft: 1.20.1forge
Скачать
Что нового
## 2.0.1 ### Fixed - Tag remapping no longer prevents later reload hooks, including KubeJS scripted tag creation, from running.
release

RemapIDs 2.0.1 (Fabric 1.20.1)

2.0.1+fabric-1.20.1
4 авг. 2026 г.18Minecraft: 1.20.1fabric
Скачать
Что нового
## 2.0.1 ### Fixed - Tag remapping no longer prevents later reload hooks, including KubeJS scripted tag creation, from running.
release

RemapIDs 2.0.1 (Fabric 1.21.1)

2.0.1+fabric-1.21.1
4 авг. 2026 г.12Minecraft: 1.21.1fabric
Скачать
Что нового
## 2.0.1 ### Fixed - Tag remapping no longer prevents later reload hooks, including KubeJS scripted tag creation, from running.
release

RemapIDs 2.0.0 (Fabric 1.21.1)

2.0.0+fabric-1.21.1
8 июл. 2026 г.31Minecraft: 1.21.1fabric
Скачать
Что нового
## 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/Thermal `ClassCastException` was 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 `MissingMappingsEvent` handling. - **JSON rewriting is context-aware.** `name` fields 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 honor `loot_table` remaps and tag entries honor `tag` remaps. ### 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 `id` key (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.
release

RemapIDs 2.0.0 (NeoForge 1.21.1)

2.0.0+neoforge-1.21.1
8 июл. 2026 г.132Minecraft: 1.21.1neoforge
Скачать
Что нового
## 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/Thermal `ClassCastException` was 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 `MissingMappingsEvent` handling. - **JSON rewriting is context-aware.** `name` fields 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 honor `loot_table` remaps and tag entries honor `tag` remaps. ### 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 `id` key (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.