quilt-mappings
quilt-mappings copied to clipboard
Using QM as main mapping and Mojmap as fallback fails to load world on first time run
While using a buildscript of Quilt Mappings as main and Mojmap as backup, when starting the game for the very first time, Loader fails to appply the transform to make package-private things public.
The mappings configuration i used was this:
dependencies {
// ...
mappings(loom.layered {
officialMojangMappings()
addLayer quiltMappings.mappings( "org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2" )
})
// ...
}
QM first, mojmap fallback.
If you try to open the game and load a world, with no run/
directory the game with crash with an illegal state exception:
java.lang.IllegalAccessError: failed to access class com.mojang.math.OctahedralGroup$1 from class net.minecraft.util.math.DirectionTransformation (com.mojang.math.OctahedralGroup$1 and net.minecraft.util.math.DirectionTransformation are in unnamed module of loader net.fabricmc.loader.launch.knot.KnotClassLoader @20b12f8a)
Now DirectionTransformation
is OctahedralGroup
in Quilt Mappings, but loader hasn't worked that out.
If you then close the game, and remove the mojmap fall back, it'll be more than happy to load the world, you can even put mojmap first of use mojmap on it's own and it'll be perfectly happy with it.
Now that you have loaded a world, if you're to add the mojmap fallback back, it will load worlds happily again.
If you add DirectionTransformation.map(null)
to your mod initialiser does it also crash early with the same error? It's odd that it only happens on new world creation - but it wouldn't be odd if it only crashed because that's when the method was first called.
I have the same issue when i use mojmap as fallback in 1.19.4
This seems to be an issue with inner classes being "orphaned" by mojmap "overriding" the mapping for the containing class. This is a quilt mappings issue, not a loader or loom issue. I am transferring the issue.