fabric-loom icon indicating copy to clipboard operation
fabric-loom copied to clipboard

Some dependencies does not remap.

Open oliviathevampire opened this issue 2 years ago • 6 comments

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.

oliviathevampire avatar Sep 19 '21 19:09 oliviathevampire

Could you provide an example to re-produce it?

LogicFan avatar Sep 19 '21 20:09 LogicFan

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.

modmuss50 avatar Sep 20 '21 15:09 modmuss50

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.

Juuxel avatar Sep 20 '21 15:09 Juuxel

build.gradle: https://hastebin.com/wugoxayuqe.csharp Error when running game: https://hastebin.com/kejivilina.kotlin

oliviathevampire avatar Sep 20 '21 15:09 oliviathevampire

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

Ampflower avatar Dec 20 '21 08:12 Ampflower

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.

Ampflower avatar Dec 20 '21 08:12 Ampflower