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

ВЕРСИИ (44)

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.
release

RemapIDs 2.0.0 (Forge 1.20.1)

2.0.0+forge-1.20.1
8 июл. 2026 г.36Minecraft: 1.20.1forge
Скачать
Что нового
## 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 (Fabric 1.20.1)

2.0.0+fabric-1.20.1
8 июл. 2026 г.23Minecraft: 1.20.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 1.3.2 (Fabric 1.21.1)

1.3.2+fabric-1.21.1
5 июл. 2026 г.19Minecraft: 1.21.1fabric
Скачать
Что нового
## 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.
release

RemapIDs 1.3.2 (Forge 1.20.1)

1.3.2+forge-1.20.1
5 июл. 2026 г.19Minecraft: 1.20.1forge
Скачать
Что нового
## 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.
release

RemapIDs 1.3.2 (NeoForge 1.21.1)

1.3.2+neoforge-1.21.1
5 июл. 2026 г.26Minecraft: 1.21.1neoforge
Скачать
Что нового
## 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.
release

RemapIDs 1.3.2 (Fabric 1.20.1)

1.3.2+fabric-1.20.1
5 июл. 2026 г.14Minecraft: 1.20.1fabric
Скачать
Что нового
## 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.
release

RemapIDs 1.3.1 (NeoForge 1.21.1)

1.3.1+neoforge-1.21.1
12 июн. 2026 г.693Minecraft: 1.21.1neoforge
Скачать
Что нового
## 1.3.1 ### Fixed - **Modded registry IDs not remapped on NeoForge** (#5, #6) — On NeoForge 1.21.1, mods are constructed before vanilla bootstrap, and bootstrap freezes the builtin registries before any `RegisterEvent` fires. The `MappedRegistry.freeze()` hook therefore ran against vanilla-only registries: wildcard patterns matched nothing, modded targets (including KubeJS-created IDs) were "not found", and aliases injected for modded source IDs were clobbered when the real entry registered later. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent` (mirroring the Forge 1.20.1 fix from 1.3.0), which fires after `GameData.freezeData()` when all mod content is registered. This also fixes wildcard remaps for modded item/block IDs. - **Recipe re-keying could overwrite existing recipes** (#5) — Re-keying a recipe ID to a target that already exists (e.g. an entry without a `types` filter remapping `aether:skyroot_stick → minecraft:stick` while a `minecraft:stick` recipe exists) silently replaced the existing recipe. Colliding re-keys are now skipped with a warning, on all loaders. ### Changed - **Entries without a `types` filter no longer attempt registry aliases for registries that don't contain the target** — a typeless item remap previously produced "target not found in block/fluid/entity_type registry" warnings and pointless alias attempts. A typeless entry whose target exists in no registry at all now logs a single warning instead.
release

RemapIDs 1.3.1 (Forge 1.20.1)

1.3.1+forge-1.20.1
12 июн. 2026 г.34Minecraft: 1.20.1forge
Скачать
Что нового
## 1.3.1 ### Fixed - **Modded registry IDs not remapped on NeoForge** (#5, #6) — On NeoForge 1.21.1, mods are constructed before vanilla bootstrap, and bootstrap freezes the builtin registries before any `RegisterEvent` fires. The `MappedRegistry.freeze()` hook therefore ran against vanilla-only registries: wildcard patterns matched nothing, modded targets (including KubeJS-created IDs) were "not found", and aliases injected for modded source IDs were clobbered when the real entry registered later. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent` (mirroring the Forge 1.20.1 fix from 1.3.0), which fires after `GameData.freezeData()` when all mod content is registered. This also fixes wildcard remaps for modded item/block IDs. - **Recipe re-keying could overwrite existing recipes** (#5) — Re-keying a recipe ID to a target that already exists (e.g. an entry without a `types` filter remapping `aether:skyroot_stick → minecraft:stick` while a `minecraft:stick` recipe exists) silently replaced the existing recipe. Colliding re-keys are now skipped with a warning, on all loaders. ### Changed - **Entries without a `types` filter no longer attempt registry aliases for registries that don't contain the target** — a typeless item remap previously produced "target not found in block/fluid/entity_type registry" warnings and pointless alias attempts. A typeless entry whose target exists in no registry at all now logs a single warning instead.
release

RemapIDs 1.3.1 (Fabric 1.21.1)

1.3.1+fabric-1.21.1
12 июн. 2026 г.20Minecraft: 1.21.1fabric
Скачать
Что нового
## 1.3.1 ### Fixed - **Modded registry IDs not remapped on NeoForge** (#5, #6) — On NeoForge 1.21.1, mods are constructed before vanilla bootstrap, and bootstrap freezes the builtin registries before any `RegisterEvent` fires. The `MappedRegistry.freeze()` hook therefore ran against vanilla-only registries: wildcard patterns matched nothing, modded targets (including KubeJS-created IDs) were "not found", and aliases injected for modded source IDs were clobbered when the real entry registered later. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent` (mirroring the Forge 1.20.1 fix from 1.3.0), which fires after `GameData.freezeData()` when all mod content is registered. This also fixes wildcard remaps for modded item/block IDs. - **Recipe re-keying could overwrite existing recipes** (#5) — Re-keying a recipe ID to a target that already exists (e.g. an entry without a `types` filter remapping `aether:skyroot_stick → minecraft:stick` while a `minecraft:stick` recipe exists) silently replaced the existing recipe. Colliding re-keys are now skipped with a warning, on all loaders. ### Changed - **Entries without a `types` filter no longer attempt registry aliases for registries that don't contain the target** — a typeless item remap previously produced "target not found in block/fluid/entity_type registry" warnings and pointless alias attempts. A typeless entry whose target exists in no registry at all now logs a single warning instead.
release

RemapIDs 1.3.1 (Fabric 1.20.1)

1.3.1+fabric-1.20.1
12 июн. 2026 г.15Minecraft: 1.20.1fabric
Скачать
Что нового
## 1.3.1 ### Fixed - **Modded registry IDs not remapped on NeoForge** (#5, #6) — On NeoForge 1.21.1, mods are constructed before vanilla bootstrap, and bootstrap freezes the builtin registries before any `RegisterEvent` fires. The `MappedRegistry.freeze()` hook therefore ran against vanilla-only registries: wildcard patterns matched nothing, modded targets (including KubeJS-created IDs) were "not found", and aliases injected for modded source IDs were clobbered when the real entry registered later. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent` (mirroring the Forge 1.20.1 fix from 1.3.0), which fires after `GameData.freezeData()` when all mod content is registered. This also fixes wildcard remaps for modded item/block IDs. - **Recipe re-keying could overwrite existing recipes** (#5) — Re-keying a recipe ID to a target that already exists (e.g. an entry without a `types` filter remapping `aether:skyroot_stick → minecraft:stick` while a `minecraft:stick` recipe exists) silently replaced the existing recipe. Colliding re-keys are now skipped with a warning, on all loaders. ### Changed - **Entries without a `types` filter no longer attempt registry aliases for registries that don't contain the target** — a typeless item remap previously produced "target not found in block/fluid/entity_type registry" warnings and pointless alias attempts. A typeless entry whose target exists in no registry at all now logs a single warning instead.
release

RemapIDs 1.3.0 (Fabric 1.21.1)

1.3.0+fabric-1.21.1
2 апр. 2026 г.42Minecraft: 1.21.1fabric
Скачать
Что нового
## 1.3.0 ### Fixed - **Modded remap targets not found in registry** (#1) — Remapping to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) would fail with "not found in item/block registry" and skip the remap. Three separate issues caused this: - `RemapValidator` permanently removed entries for targets not yet registered at validation time. Validation is now non-destructive (warn-only) — entries are preserved and validated at actual injection time. - On Forge, the `MappedRegistry.freeze()` hook fired during bootstrap on the Render thread, racing with mod loading on worker threads. Modded content wasn't registered yet when `finalizeIfPending()` ran. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent`, which is guaranteed to fire after all `RegisterEvent` handlers complete. - On Forge 1.20.1, modded entries live in `ForgeRegistries`, not in vanilla `MappedRegistry`. Target lookups now go through `ForgeRegistries.BLOCKS/ITEMS/etc.` instead of the vanilla registry maps. ### Added - **Live vanilla block/item remapping** — Remapping existing vanilla IDs to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) now works correctly. Block state IDs are remapped in `Block.BLOCK_STATE_REGISTRY` so network serialization writes target state IDs instead of crashing with `-1`. - **Block state property matching** — When remapping between blocks with compatible properties (e.g. `axis`, `waterlogged`), matching property values are preserved on the target state. Unmatched properties fall back to the target block's defaults. - **`IdMapperAccessor`** (all loaders) — Mixin accessor for `Block.BLOCK_STATE_REGISTRY` internals, enabling block state ID remapping without corrupting the reverse lookup table. - **`MappedRegistryAccessor`** (Forge) — Mixin accessor for `MappedRegistry.byLocation`/`byKey`, used by the new `RegistryAliasInjector`. - **`RegistryAliasInjector`** (Forge) — Dedicated alias injection helper that uses ForgeRegistries for target lookup and injects into vanilla MappedRegistry where possible. ### Changed - **Forge alias injection moved out of `MappedRegistryMixin`** — Registry alias injection on Forge is now handled by `RegistryAliasInjector` triggered from `FMLLoadCompleteEvent`, replacing the unreliable `freeze()` hook. Other loaders retain the `freeze()`-based approach.
release

RemapIDs 1.3.0 (Forge 1.20.1)

1.3.0+forge-1.20.1
2 апр. 2026 г.80Minecraft: 1.20.1forge
Скачать
Что нового
## 1.3.0 ### Fixed - **Modded remap targets not found in registry** (#1) — Remapping to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) would fail with "not found in item/block registry" and skip the remap. Three separate issues caused this: - `RemapValidator` permanently removed entries for targets not yet registered at validation time. Validation is now non-destructive (warn-only) — entries are preserved and validated at actual injection time. - On Forge, the `MappedRegistry.freeze()` hook fired during bootstrap on the Render thread, racing with mod loading on worker threads. Modded content wasn't registered yet when `finalizeIfPending()` ran. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent`, which is guaranteed to fire after all `RegisterEvent` handlers complete. - On Forge 1.20.1, modded entries live in `ForgeRegistries`, not in vanilla `MappedRegistry`. Target lookups now go through `ForgeRegistries.BLOCKS/ITEMS/etc.` instead of the vanilla registry maps. ### Added - **Live vanilla block/item remapping** — Remapping existing vanilla IDs to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) now works correctly. Block state IDs are remapped in `Block.BLOCK_STATE_REGISTRY` so network serialization writes target state IDs instead of crashing with `-1`. - **Block state property matching** — When remapping between blocks with compatible properties (e.g. `axis`, `waterlogged`), matching property values are preserved on the target state. Unmatched properties fall back to the target block's defaults. - **`IdMapperAccessor`** (all loaders) — Mixin accessor for `Block.BLOCK_STATE_REGISTRY` internals, enabling block state ID remapping without corrupting the reverse lookup table. - **`MappedRegistryAccessor`** (Forge) — Mixin accessor for `MappedRegistry.byLocation`/`byKey`, used by the new `RegistryAliasInjector`. - **`RegistryAliasInjector`** (Forge) — Dedicated alias injection helper that uses ForgeRegistries for target lookup and injects into vanilla MappedRegistry where possible. ### Changed - **Forge alias injection moved out of `MappedRegistryMixin`** — Registry alias injection on Forge is now handled by `RegistryAliasInjector` triggered from `FMLLoadCompleteEvent`, replacing the unreliable `freeze()` hook. Other loaders retain the `freeze()`-based approach.
release

RemapIDs 1.3.0 (Fabric 1.20.1)

1.3.0+fabric-1.20.1
2 апр. 2026 г.29Minecraft: 1.20.1fabric
Скачать
Что нового
## 1.3.0 ### Fixed - **Modded remap targets not found in registry** (#1) — Remapping to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) would fail with "not found in item/block registry" and skip the remap. Three separate issues caused this: - `RemapValidator` permanently removed entries for targets not yet registered at validation time. Validation is now non-destructive (warn-only) — entries are preserved and validated at actual injection time. - On Forge, the `MappedRegistry.freeze()` hook fired during bootstrap on the Render thread, racing with mod loading on worker threads. Modded content wasn't registered yet when `finalizeIfPending()` ran. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent`, which is guaranteed to fire after all `RegisterEvent` handlers complete. - On Forge 1.20.1, modded entries live in `ForgeRegistries`, not in vanilla `MappedRegistry`. Target lookups now go through `ForgeRegistries.BLOCKS/ITEMS/etc.` instead of the vanilla registry maps. ### Added - **Live vanilla block/item remapping** — Remapping existing vanilla IDs to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) now works correctly. Block state IDs are remapped in `Block.BLOCK_STATE_REGISTRY` so network serialization writes target state IDs instead of crashing with `-1`. - **Block state property matching** — When remapping between blocks with compatible properties (e.g. `axis`, `waterlogged`), matching property values are preserved on the target state. Unmatched properties fall back to the target block's defaults. - **`IdMapperAccessor`** (all loaders) — Mixin accessor for `Block.BLOCK_STATE_REGISTRY` internals, enabling block state ID remapping without corrupting the reverse lookup table. - **`MappedRegistryAccessor`** (Forge) — Mixin accessor for `MappedRegistry.byLocation`/`byKey`, used by the new `RegistryAliasInjector`. - **`RegistryAliasInjector`** (Forge) — Dedicated alias injection helper that uses ForgeRegistries for target lookup and injects into vanilla MappedRegistry where possible. ### Changed - **Forge alias injection moved out of `MappedRegistryMixin`** — Registry alias injection on Forge is now handled by `RegistryAliasInjector` triggered from `FMLLoadCompleteEvent`, replacing the unreliable `freeze()` hook. Other loaders retain the `freeze()`-based approach.
release

RemapIDs 1.3.0 (NeoForge 1.21.1)

1.3.0+neoforge-1.21.1
2 апр. 2026 г.1,5 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
## 1.3.0 ### Fixed - **Modded remap targets not found in registry** (#1) — Remapping to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) would fail with "not found in item/block registry" and skip the remap. Three separate issues caused this: - `RemapValidator` permanently removed entries for targets not yet registered at validation time. Validation is now non-destructive (warn-only) — entries are preserved and validated at actual injection time. - On Forge, the `MappedRegistry.freeze()` hook fired during bootstrap on the Render thread, racing with mod loading on worker threads. Modded content wasn't registered yet when `finalizeIfPending()` ran. Finalization and alias injection are now triggered from `FMLLoadCompleteEvent`, which is guaranteed to fire after all `RegisterEvent` handlers complete. - On Forge 1.20.1, modded entries live in `ForgeRegistries`, not in vanilla `MappedRegistry`. Target lookups now go through `ForgeRegistries.BLOCKS/ITEMS/etc.` instead of the vanilla registry maps. ### Added - **Live vanilla block/item remapping** — Remapping existing vanilla IDs to modded IDs (e.g. `minecraft:copper_block → create:brass_block`) now works correctly. Block state IDs are remapped in `Block.BLOCK_STATE_REGISTRY` so network serialization writes target state IDs instead of crashing with `-1`. - **Block state property matching** — When remapping between blocks with compatible properties (e.g. `axis`, `waterlogged`), matching property values are preserved on the target state. Unmatched properties fall back to the target block's defaults. - **`IdMapperAccessor`** (all loaders) — Mixin accessor for `Block.BLOCK_STATE_REGISTRY` internals, enabling block state ID remapping without corrupting the reverse lookup table. - **`MappedRegistryAccessor`** (Forge) — Mixin accessor for `MappedRegistry.byLocation`/`byKey`, used by the new `RegistryAliasInjector`. - **`RegistryAliasInjector`** (Forge) — Dedicated alias injection helper that uses ForgeRegistries for target lookup and injects into vanilla MappedRegistry where possible. ### Changed - **Forge alias injection moved out of `MappedRegistryMixin`** — Registry alias injection on Forge is now handled by `RegistryAliasInjector` triggered from `FMLLoadCompleteEvent`, replacing the unreliable `freeze()` hook. Other loaders retain the `freeze()`-based approach.
release

RemapIDs 1.2.1 (Forge 1.20.1)

1.2.1+forge-1.20.1
2 апр. 2026 г.17Minecraft: 1.20.1forge
Скачать
Что нового
## 1.2.1 ### Fixed - **Tag remapping crash on Forge/Fabric 1.20.1** - `TagLoaderMixin` was injecting into `loadAndBuild()`, which returns resolved `Holder.Reference` objects, causing a `ClassCastException`. Now correctly targets `load()`, which returns raw `EntryWithSource` entries. Also fixed on Fabric 1.20.1 where the same latent bug existed. - **Forge world migration only handled `remapids:` namespace** - `ForgeRegistryEvents` passed the mod's own ID to `getMappings()`, so `MissingMappingsEvent` only caught missing entries with namespace `remapids:*`. Now collects all source namespaces from the remap config and queries each one. This fixes remaps like `create:brass_block → minecraft:copper_block` being silently ignored when Create is removed. - **Forge registry lookups could cross-contaminate types** - `ForgeRegistryMixin` looped through all registry types (block, item, fluid, entity_type) for every `ForgeRegistry.getValue()` call, so an item-only remap could incorrectly redirect a block registry lookup. Now determines the specific registry type from the `ForgeRegistry` instance and only checks that type. - **Removed leftover debug logging on Forge** - The Forge `RecipeManagerMixin` had `LOGGER.info()` calls for golden_apple recipe debugging and verbose per-invocation logging left from development. Cleaned up to match the other loaders' `LOGGER.debug()` level. - **`JsonRemapper.rewriteCount` thread safety** - Changed from a plain `int` to `AtomicInteger` to prevent potential race conditions in the rewrite counter.
release

RemapIDs 1.2.1 (NeoForge 1.21.1)

1.2.1+neoforge-1.21.1
2 апр. 2026 г.24Minecraft: 1.21.1neoforge
Скачать
Что нового
## 1.2.1 ### Fixed - **Tag remapping crash on Forge/Fabric 1.20.1** - `TagLoaderMixin` was injecting into `loadAndBuild()`, which returns resolved `Holder.Reference` objects, causing a `ClassCastException`. Now correctly targets `load()`, which returns raw `EntryWithSource` entries. Also fixed on Fabric 1.20.1 where the same latent bug existed. - **Forge world migration only handled `remapids:` namespace** - `ForgeRegistryEvents` passed the mod's own ID to `getMappings()`, so `MissingMappingsEvent` only caught missing entries with namespace `remapids:*`. Now collects all source namespaces from the remap config and queries each one. This fixes remaps like `create:brass_block → minecraft:copper_block` being silently ignored when Create is removed. - **Forge registry lookups could cross-contaminate types** - `ForgeRegistryMixin` looped through all registry types (block, item, fluid, entity_type) for every `ForgeRegistry.getValue()` call, so an item-only remap could incorrectly redirect a block registry lookup. Now determines the specific registry type from the `ForgeRegistry` instance and only checks that type. - **Removed leftover debug logging on Forge** - The Forge `RecipeManagerMixin` had `LOGGER.info()` calls for golden_apple recipe debugging and verbose per-invocation logging left from development. Cleaned up to match the other loaders' `LOGGER.debug()` level. - **`JsonRemapper.rewriteCount` thread safety** - Changed from a plain `int` to `AtomicInteger` to prevent potential race conditions in the rewrite counter.
release

RemapIDs 1.2.1 (Fabric 1.21.1)

1.2.1+fabric-1.21.1
2 апр. 2026 г.20Minecraft: 1.21.1fabric
Скачать
Что нового
## 1.2.1 ### Fixed - **Tag remapping crash on Forge/Fabric 1.20.1** - `TagLoaderMixin` was injecting into `loadAndBuild()`, which returns resolved `Holder.Reference` objects, causing a `ClassCastException`. Now correctly targets `load()`, which returns raw `EntryWithSource` entries. Also fixed on Fabric 1.20.1 where the same latent bug existed. - **Forge world migration only handled `remapids:` namespace** - `ForgeRegistryEvents` passed the mod's own ID to `getMappings()`, so `MissingMappingsEvent` only caught missing entries with namespace `remapids:*`. Now collects all source namespaces from the remap config and queries each one. This fixes remaps like `create:brass_block → minecraft:copper_block` being silently ignored when Create is removed. - **Forge registry lookups could cross-contaminate types** - `ForgeRegistryMixin` looped through all registry types (block, item, fluid, entity_type) for every `ForgeRegistry.getValue()` call, so an item-only remap could incorrectly redirect a block registry lookup. Now determines the specific registry type from the `ForgeRegistry` instance and only checks that type. - **Removed leftover debug logging on Forge** - The Forge `RecipeManagerMixin` had `LOGGER.info()` calls for golden_apple recipe debugging and verbose per-invocation logging left from development. Cleaned up to match the other loaders' `LOGGER.debug()` level. - **`JsonRemapper.rewriteCount` thread safety** - Changed from a plain `int` to `AtomicInteger` to prevent potential race conditions in the rewrite counter.
release

RemapIDs 1.2.1 (Fabric 1.20.1)

1.2.1+fabric-1.20.1
2 апр. 2026 г.16Minecraft: 1.20.1fabric
Скачать
Что нового
## 1.2.1 ### Fixed - **Tag remapping crash on Forge/Fabric 1.20.1** - `TagLoaderMixin` was injecting into `loadAndBuild()`, which returns resolved `Holder.Reference` objects, causing a `ClassCastException`. Now correctly targets `load()`, which returns raw `EntryWithSource` entries. Also fixed on Fabric 1.20.1 where the same latent bug existed. - **Forge world migration only handled `remapids:` namespace** - `ForgeRegistryEvents` passed the mod's own ID to `getMappings()`, so `MissingMappingsEvent` only caught missing entries with namespace `remapids:*`. Now collects all source namespaces from the remap config and queries each one. This fixes remaps like `create:brass_block → minecraft:copper_block` being silently ignored when Create is removed. - **Forge registry lookups could cross-contaminate types** - `ForgeRegistryMixin` looped through all registry types (block, item, fluid, entity_type) for every `ForgeRegistry.getValue()` call, so an item-only remap could incorrectly redirect a block registry lookup. Now determines the specific registry type from the `ForgeRegistry` instance and only checks that type. - **Removed leftover debug logging on Forge** - The Forge `RecipeManagerMixin` had `LOGGER.info()` calls for golden_apple recipe debugging and verbose per-invocation logging left from development. Cleaned up to match the other loaders' `LOGGER.debug()` level. - **`JsonRemapper.rewriteCount` thread safety** - Changed from a plain `int` to `AtomicInteger` to prevent potential race conditions in the rewrite counter.
release

RemapIDs 1.2.0 (Fabric 1.21.1)

1.2.0+fabric-1.21.1
31 мар. 2026 г.19Minecraft: 1.21.1fabric
Скачать
Что нового
### Added - **Tag entry remapping** — The `tag` remap type now replaces individual item/block entries within tag definitions. Previously it only supported tag-to-tag merging (`#source_tag` → `#target_tag`). Now, non-`#`-prefixed sources (e.g., `iceandfire:sapphire_block`) will be found and replaced inside all tags that reference them.
release

RemapIDs 1.2.0 (NeoForge 1.21.1)

1.2.0+neoforge-1.21.1
31 мар. 2026 г.20Minecraft: 1.21.1neoforge
Скачать
Что нового
### Added - **Tag entry remapping** — The `tag` remap type now replaces individual item/block entries within tag definitions. Previously it only supported tag-to-tag merging (`#source_tag` → `#target_tag`). Now, non-`#`-prefixed sources (e.g., `iceandfire:sapphire_block`) will be found and replaced inside all tags that reference them.
release

RemapIDs 1.2.0 (Fabric 1.20.1)

1.2.0+fabric-1.20.1
31 мар. 2026 г.21Minecraft: 1.20.1fabric
Скачать
Что нового
### Added - **Tag entry remapping** — The `tag` remap type now replaces individual item/block entries within tag definitions. Previously it only supported tag-to-tag merging (`#source_tag` → `#target_tag`). Now, non-`#`-prefixed sources (e.g., `iceandfire:sapphire_block`) will be found and replaced inside all tags that reference them.
release

RemapIDs 1.2.0 (Forge 1.20.1)

1.2.0+forge-1.20.1
31 мар. 2026 г.20Minecraft: 1.20.1forge
Скачать
Что нового
### Added - **Tag entry remapping** — The `tag` remap type now replaces individual item/block entries within tag definitions. Previously it only supported tag-to-tag merging (`#source_tag` → `#target_tag`). Now, non-`#`-prefixed sources (e.g., `iceandfire:sapphire_block`) will be found and replaced inside all tags that reference them.
release

RemapIDs 1.1.2 (Fabric 1.20.1)

1.1.2+fabric-1.20.1
31 мар. 2026 г.15Minecraft: 1.20.1fabric
Скачать
Что нового
### Fixed - **Remaps targeting mod registry entries no longer silently discarded** — Remap loading now uses two-phase initialization: JSON is parsed during mod construction, then wildcards are expanded and targets are validated at registry freeze time when all mod entries are available. Previously, validation ran before mod registries were populated, causing any remap targeting a non-vanilla ID (e.g., `create:andesite_alloy`) to be incorrectly filtered out. This also fixes wildcard patterns now correctly matching mod IDs.
release

RemapIDs 1.1.2 (Fabric 1.21.1)

1.1.2+fabric-1.21.1
31 мар. 2026 г.15Minecraft: 1.21.1fabric
Скачать
Что нового
### Fixed - **Remaps targeting mod registry entries no longer silently discarded** — Remap loading now uses two-phase initialization: JSON is parsed during mod construction, then wildcards are expanded and targets are validated at registry freeze time when all mod entries are available. Previously, validation ran before mod registries were populated, causing any remap targeting a non-vanilla ID (e.g., `create:andesite_alloy`) to be incorrectly filtered out. This also fixes wildcard patterns now correctly matching mod IDs.
release

RemapIDs 1.1.2 (NeoForge 1.21.1)

1.1.2+neoforge-1.21.1
31 мар. 2026 г.19Minecraft: 1.21.1neoforge
Скачать
Что нового
### Fixed - **Remaps targeting mod registry entries no longer silently discarded** — Remap loading now uses two-phase initialization: JSON is parsed during mod construction, then wildcards are expanded and targets are validated at registry freeze time when all mod entries are available. Previously, validation ran before mod registries were populated, causing any remap targeting a non-vanilla ID (e.g., `create:andesite_alloy`) to be incorrectly filtered out. This also fixes wildcard patterns now correctly matching mod IDs.
release

RemapIDs 1.1.2 (Forge 1.20.1)

1.1.2+forge-1.20.1
31 мар. 2026 г.15Minecraft: 1.20.1forge
Скачать
Что нового
### Fixed - **Remaps targeting mod registry entries no longer silently discarded** — Remap loading now uses two-phase initialization: JSON is parsed during mod construction, then wildcards are expanded and targets are validated at registry freeze time when all mod entries are available. Previously, validation ran before mod registries were populated, causing any remap targeting a non-vanilla ID (e.g., `create:andesite_alloy`) to be incorrectly filtered out. This also fixes wildcard patterns now correctly matching mod IDs.
release

RemapIDs 1.1.0 (Forge 1.20.1)

1.1.0+forge-1.20.1
27 мар. 2026 г.20Minecraft: 1.20.1forge
Скачать
Что нового
### Added - **Numerical ID support** — Use pre-1.13 numerical block/item IDs as source values in remap configs (e.g., `"source": "35:14"` for red wool). Includes a built-in flattening table covering all vanilla blocks and items with metadata variants. - **Identify command** — `/remapids id block` shows the registry ID of the block you're looking at, `/remapids id hand` shows the registry ID of the item in your main hand. Both display active remap information when relevant.
release

RemapIDs 1.1.0 (Fabric 1.20.1)

1.1.0+fabric-1.20.1
27 мар. 2026 г.15Minecraft: 1.20.1fabric
Скачать
Что нового
### Added - **Numerical ID support** — Use pre-1.13 numerical block/item IDs as source values in remap configs (e.g., `"source": "35:14"` for red wool). Includes a built-in flattening table covering all vanilla blocks and items with metadata variants. - **Identify command** — `/remapids id block` shows the registry ID of the block you're looking at, `/remapids id hand` shows the registry ID of the item in your main hand. Both display active remap information when relevant.
release

RemapIDs 1.1.0 (Fabric 1.21.1)

1.1.0+fabric-1.21.1
27 мар. 2026 г.25Minecraft: 1.21.1fabric
Скачать
Что нового
### Added - **Numerical ID support** — Use pre-1.13 numerical block/item IDs as source values in remap configs (e.g., `"source": "35:14"` for red wool). Includes a built-in flattening table covering all vanilla blocks and items with metadata variants. - **Identify command** — `/remapids id block` shows the registry ID of the block you're looking at, `/remapids id hand` shows the registry ID of the item in your main hand. Both display active remap information when relevant.
release

RemapIDs 1.1.0 (NeoForge 1.21.1)

1.1.0+neoforge-1.21.1
27 мар. 2026 г.20Minecraft: 1.21.1neoforge
Скачать
Что нового
### Added - **Numerical ID support** — Use pre-1.13 numerical block/item IDs as source values in remap configs (e.g., `"source": "35:14"` for red wool). Includes a built-in flattening table covering all vanilla blocks and items with metadata variants. - **Identify command** — `/remapids id block` shows the registry ID of the block you're looking at, `/remapids id hand` shows the registry ID of the item in your main hand. Both display active remap information when relevant.
release

RemapIDs 1.0.0 (Fabric 1.20.1)

1.0.0+fabric-1.20.1
23 мар. 2026 г.18Minecraft: 1.20.1fabric
Скачать
Что нового
# Changelog ## 1.0.0 - Initial release - Data-driven registry remap/alias system for modpack developers - Supports Forge 1.20.1, Fabric 1.20.1, NeoForge 1.21.1, and Fabric 1.21.1
release

RemapIDs 1.0.0 (NeoForge 1.21.1)

1.0.0+neoforge-1.21.1
23 мар. 2026 г.19Minecraft: 1.21.1neoforge
Скачать
Что нового
# Changelog ## 1.0.0 - Initial release - Data-driven registry remap/alias system for modpack developers - Supports Forge 1.20.1, Fabric 1.20.1, NeoForge 1.21.1, and Fabric 1.21.1
release

RemapIDs 1.0.0 (Fabric 1.21.1)

1.0.0+fabric-1.21.1
23 мар. 2026 г.18Minecraft: 1.21.1fabric
Скачать
Что нового
# Changelog ## 1.0.0 - Initial release - Data-driven registry remap/alias system for modpack developers - Supports Forge 1.20.1, Fabric 1.20.1, NeoForge 1.21.1, and Fabric 1.21.1
release

RemapIDs 1.0.0 (Forge 1.20.1)

1.0.0+forge-1.20.1
23 мар. 2026 г.31Minecraft: 1.20.1forge
Скачать
Что нового
# Changelog ## 1.0.0 - Initial release - Data-driven registry remap/alias system for modpack developers - Supports Forge 1.20.1, Fabric 1.20.1, NeoForge 1.21.1, and Fabric 1.21.1