quilt-loader icon indicating copy to clipboard operation
quilt-loader copied to clipboard

Using QM as main mapping and Mojmap as fallback fails to load world on first time run

Open NoComment1105 opened this issue 2 years ago • 1 comments

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.

NoComment1105 avatar Apr 22 '22 13:04 NoComment1105

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.

AlexIIL avatar Apr 22 '22 13:04 AlexIIL