Перейти к содержимому
Mineforgian

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

  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

Ченджлог

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/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.
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/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.
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/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.
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/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.
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_sheet to Create's TagDependentIngredientItem when building its creative tab; with create:golden_sheet -> thermal:gold_plate configured it received Thermal's CountedItem instead, throwing ClassCastException the 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_sheet to Create's TagDependentIngredientItem when building its creative tab; with create:golden_sheet -> thermal:gold_plate configured it received Thermal's CountedItem instead, throwing ClassCastException the 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_sheet to Create's TagDependentIngredientItem when building its creative tab; with create:golden_sheet -> thermal:gold_plate configured it received Thermal's CountedItem instead, throwing ClassCastException the 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_sheet to Create's TagDependentIngredientItem when building its creative tab; with create:golden_sheet -> thermal:gold_plate configured it received Thermal's CountedItem instead, throwing ClassCastException the 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.

Комментарии

Загружаем…