Tags
Creators
Details
Licensed GPL-3.0-only
Published 7 months ago
Updated 2 months ago
All versions
2.0.0+neoforge-1.21.1
Release
RemapIDs 2.0.0 (NeoForge 1.21.1)4 months ago 132
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:LS9KUmOO:zjfWT8qE"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LS9KUmOO:zjfWT8qE"
}

