Quilted Fabric API (QFAPI) / Quilt Standard Libraries (QSL)

Quilted Fabric API (QFAPI) / Quilt Standard Libraries (QSL)

441k Downloads

Deprecated Fabric API modules are not loaded

magneticflux- opened this issue · 1 comments

commented

Deprecated Fabric API modules are not loaded by Quilt, causing NoClassDefFoundErrors.

Sample log:

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'immersive_weathering'!
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$2(EntrypointUtils.java:63)
	at org.quiltmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:61)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invokeContainer(EntrypointUtils.java:46)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:33)
	at org.quiltmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52)
	at net.minecraft.class_310.<init>(class_310.java:443)
	at net.minecraft.client.main.Main.main(Main.java:198)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.multimc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.multimc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.multimc.EntryPoint.listen(EntryPoint.java:127)
	at org.multimc.EntryPoint.main(EntryPoint.java:57)
Caused by: java.lang.NoClassDefFoundError: net/fabricmc/fabric/api/loot/v1/event/LootTableLoadingCallback
	at com.ordana.immersive_weathering.registry.ModLootTables.registerLootTables(ModLootTables.java:42)
	at com.ordana.immersive_weathering.ImmersiveWeathering.onInitialize(ImmersiveWeathering.java:46)
	at org.quiltmc.loader.impl.game.minecraft.Hooks.lambda$startClient$0(Hooks.java:52)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:33)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:59)
	... 21 more
Caused by: java.lang.ClassNotFoundException: net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at org.quiltmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:159)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 26 more

Full log: https://mclo.gs/tbKUQWu

This is including the changes in 2fe0ada. However, setting "optional": false on quilted_fabric_loot_tables_v1 in quilt.mod.json forces the module to load and fixes the issue.

commented

A hacky workaround that should be guaranteed to work has been pushed; If even that doesn't work, please reopen this issue
I'll be investigating into making the previous (and more proper) solution work