fabric-loom
fabric-loom copied to clipboard
Some dependencies does not remap.
When in 21w37a with loom 0.10.13 both me and @spjoes is having problems with our deps not remappin, so when we try snd start the game we get errors from mixins in the deps that they can't find the unmapped methods, which they should not give cause it should have been mapped to the workspace's mappings.
Could you provide an example to re-produce it?
What mod have you been trying? I have only been able to find an issue with Fabric API's maven setup publishing empty jar files? Nothing seems wrong with mod remapping, really need a lot more info to figure out whats going on.
I have only been able to find an issue with Fabric API's maven setup publishing empty jar files?
I'd note that this is also a completely separate issue.
build.gradle: https://hastebin.com/wugoxayuqe.csharp Error when running game: https://hastebin.com/kejivilina.kotlin
Still occurring under Loom 0.10.64, Loader 0.12.12 (seems to make no difference) and Minecraft 1.18.1 (also seems to make no difference). Seems to only happen when the dependency is indirectly referenced via mod*
, and at runtime. Direct reference of say of the resource loader, loader, and gudASM doesn't have this issue, but indirect references of say the event API via the fabric-api
dependency causes it to fail with the following:
Remapping failure
[02:07:09] [main/INFO] (FabricLoader/Mixin) Mixing MixinSimpleRegistry from fabric-registry-sync-v0.mixins.json into net.minecraft.util.registry.SimpleRegistry
[02:07:09] [main/ERROR] (FabricLoader) Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.NoClassDefFoundError: net/minecraft/class_2960
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:604) ~[fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.12.11.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_2960
at net.fabricmc.fabric.api.event.Event.<clinit>(Event.java:63) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.minecraft.util.registry.SimpleRegistry.<init>(SimpleRegistry.java:49) ~[minecraft-mapped.jar:?]
at net.minecraft.util.registry.Registry.<clinit>(Registry.java:169) ~[minecraft-mapped.jar:?]
at net.minecraft.Bootstrap.initialize(Bootstrap.java:46) ~[minecraft-mapped.jar:?]
at net.minecraft.client.main.Main.main(Main.java:140) ~[minecraft-mapped.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:602) ~[fabric-loader-0.12.11.jar:?]
... 3 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_2960
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:158) ~[fabric-loader-0.12.11.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.fabricmc.fabric.api.event.Event.<clinit>(Event.java:63) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.1+b4f4f6cd14.jar:?]
at net.minecraft.util.registry.SimpleRegistry.<init>(SimpleRegistry.java:49) ~[minecraft-mapped.jar:?]
at net.minecraft.util.registry.Registry.<clinit>(Registry.java:169) ~[minecraft-mapped.jar:?]
at net.minecraft.Bootstrap.initialize(Bootstrap.java:46) ~[minecraft-mapped.jar:?]
at net.minecraft.client.main.Main.main(Main.java:140) ~[minecraft-mapped.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:602) ~[fabric-loader-0.12.11.jar:?]
... 3 more
Process finished with exit code 1
This is failing due to net.minecraft.class_2960
never getting remapped back to Identifier.
However, the source is available in IntelliJ, pointing it to a possibility that in compile time, it's fine, but in runtime when you go to run the game, it's only getting the intermediary jars.
Note, this is occurring in a subproject, and happens with both Loom's mostly default IntelliJ run config, modified to hit the debug subproject, and the runClient
task
Update: Seems that it's actually caused by mixing implementation
and modImplementation
.
Changing the usage of submodules to modImplementation(project(":sub"))
in place of implementation(project(":sub"))
where applicable fixed the issue of not being able to run under the debug submodule.