Quilt support
Bug description
As noted in the changelog and in #158, Automodpack v3.5.0 currently does not support the quilt loader. This is a regression.
Steps to reproduce
Install automodpack 3.5.0 on a server running Quilt.
Expected behavior
Automodpack works.
Actual behavior
Quilt fails to load some dependencies and automodpack crashes.
Relevant logs
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'automodpack'!
...
Caused by: java.lang.NullPointerException: Cannot read field "generateModpackOnStart" because "pl.skidam.automodpack_common.GlobalVariables.serverConfig" is null
at pl.skidam.automodpack.AutoModpack.onInitialize(AutoModpack.java:58) ~[transformed-mod-automodpack.i0:0/:?]
at java.lang.invoke.MethodHandleProxies$1.invoke(Unknown Source) ~[?:?]
at com.sun.proxy.jdk.proxy3.$Proxy29.onInitialize(Unknown Source) ~[?:?]
at org.quiltmc.loader.impl.game.minecraft.Hooks.lambda$startServer$2(Hooks.java:65) ~[quilt-loader-0.20.2.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:36) ~[quilt-loader-0.20.2.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:62) ~[quilt-loader-0.20.2.jar:?]
... 16 more
I actually have this same issue still, I think, with version 3.5.2. I'm running heavily modded MC 1.19.2 with Quilt Loader 0.21.0.
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'automodpack'!
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$2(EntrypointUtils.java:66) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:34) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:64) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invokeContainer(EntrypointUtils.java:49) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:36) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:65) ~[quilt-loader-0.21.0.jar:?]
at net.minecraft.server.Main.main(Main.java:101) [transformed-mod-minecraft.i0:0/:?]
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 org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:524) [quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:84) [quilt-loader-0.21.0.jar:?]
at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:31) [quilt-loader-0.21.0.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 org.quiltmc.loader.impl.launch.server.QuiltServerLauncher.main(QuiltServerLauncher.java:66) [quilt-loader-0.21.0.jar:?]
Caused by: java.lang.NullPointerException: Cannot read field "generateModpackOnStart" because "pl.skidam.automodpack_common.GlobalVariables.serverConfig" is null
at pl.skidam.automodpack.AutoModpack.onInitialize(AutoModpack.java:58) ~[transformed-mod-automodpack.i0:0/:?]
at java.lang.invoke.MethodHandleProxies$1.invoke(MethodHandleProxies.java:198) ~[?:?]
at com.sun.proxy.jdk.proxy3.$Proxy31.onInitialize(Unknown Source) ~[?:?]
at org.quiltmc.loader.impl.game.minecraft.Hooks.lambda$startServer$2(Hooks.java:65) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:36) ~[quilt-loader-0.21.0.jar:?]
at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:62) ~[quilt-loader-0.21.0.jar:?]
... 16 more
Full log here:
https://mclo.gs/ZhYAfWB
I have this issue as well, and don't see anyone with a similar log to mine, so I figure I may as well give my log here too:
java.lang.ExceptionInInitializerError
at pl.skidam.automodpack_loader_core.FabricLanguageAdapter.<clinit>(FabricLanguageAdapter.java:26)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at java.base/java.lang.Class.forName(Unknown Source)
at org.quiltmc.loader.impl.QuiltLoaderImpl.setupLanguageAdapters(QuiltLoaderImpl.java:1169)
at org.quiltmc.loader.impl.QuiltLoaderImpl.finishModLoading(QuiltLoaderImpl.java:1066)
at org.quiltmc.loader.impl.QuiltLoaderImpl.freeze(QuiltLoaderImpl.java:197)
at org.quiltmc.loader.impl.launch.knot.Knot.init(Knot.java:150)
at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:78)
at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: mods
at pl.skidam.automodpack_loader_core.FabricLoaderImplAccessor.<clinit>(FabricLoaderImplAccessor.java:35)
... 10 more
Caused by: java.lang.NoSuchFieldException: mods
at java.base/java.lang.Class.getDeclaredField(Unknown Source)
at pl.skidam.automodpack_loader_core.FabricLoaderImplAccessor.<clinit>(FabricLoaderImplAccessor.java:23)
... 10 more
crash-2024-08-15_21.35.16.1457-quilt_loader.txt
This mod seems very promising and it's what I'd prefer to use over any other out there, but I'm curious if anyone knows of a temporary alternative for Quilt? I just want my server members to not have to download every thing I add/update, since I am actively making more mods for them; but I can live without it for awhile too :)
Well actually, this mod just doesn't support quilt anymore and it's not something that I am willing to spend my free time researching how to implement.
However I am open for any PR's adding support for it, what would need to be done is to add specific quilt loader module there and implement similar functionality like the rest of these modules do.
Also out of curiosity why do you use quilt?
Well actually, this mod just doesn't support quilt anymore and it's not something that I am willing to spend my free time researching how to implement.
However I am open for any PR's adding support for it, what would need to be done is to add specific quilt loader module there and implement similar functionality like the rest of these modules do.
Also out of curiosity why do you use quilt?
Ah I understand, that makes sense.
I personally use Quilt for a few reasons:
- I've had previous experience with both Fabric and Forge. When it came to choosing a mod loader to dev with, I chose Fabric. However, there were some claims by someone notable I follow toward the leaders of Fabric regarding discrimination. This was supposedly impeding on good features that could've been added to Fabric, so they moved all of their mods to Quilt. Considering I used those mods and loved them, that's how I got into using Quilt as a player.
- I can't expand upon this more unfortunately, I am not totally aware of the situation. It isn't my leading factor, just how I was introduced to Quilt.
- Quilt works with most, if not all of the Fabric mods that I tend to play or code with. So switching to it wasn't a problem, and I felt just unlocked more.
- I found that the utilities in Quilt were very convenient and accessible.
- Quilt is in constant development. I found a small bug and someone fixed it within the day. Not sure if others do this haha, just thought it was nice and I was treated well because of it.
- The community is much more welcoming than any other Minecraft-related coding community I have ever been in, which is something I really value.
I am sure Forge and Fabric are great, and I still play modpacks that use those. But for my server I am making for friends, I chose to develop my mods with Quilt.
I'll take a look at the code you linked and see if there is anything I can think of. I am not super experienced with Minecraft modding, but taking a look won't hurt :)
Well actually, this mod just doesn't support quilt anymore and it's not something that I am willing to spend my free time researching how to implement. However I am open for any PR's adding support for it, what would need to be done is to add specific quilt loader module there and implement similar functionality like the rest of these modules do. Also out of curiosity why do you use quilt?
Ah I understand, that makes sense.
I personally use Quilt for a few reasons:
* I've had previous experience with both Fabric and Forge. When it came to choosing a mod loader to dev with, I chose Fabric. However, there were some claims by someone notable I follow toward the leaders of Fabric regarding discrimination. This was supposedly impeding on good features that could've been added to Fabric, so they moved all of their mods to Quilt. Considering I used those mods and loved them, that's how I got into using Quilt as a player. * I can't expand upon this more unfortunately, I am not totally aware of the situation. It isn't my leading factor, just how I was introduced to Quilt. * Quilt works with most, if not all of the Fabric mods that I tend to play or code with. So switching to it wasn't a problem, and I felt just unlocked more. * I found that the utilities in Quilt were very convenient and accessible. * Quilt is in constant development. I found a small bug and someone fixed it within the day. Not sure if others do this haha, just thought it was nice and I was treated well because of it. * The community is much more welcoming than any other Minecraft-related coding community I have ever been in, which is something I really value.I am sure Forge and Fabric are great, and I still play modpacks that use those. But for my server I am making for friends, I chose to develop my mods with Quilt.
I'll take a look at the code you linked and see if there is anything I can think of. I am not super experienced with Minecraft modding, but taking a look won't hurt :)
I wanted to add that Fabric also apparently rejected some important pushes to the code because they were made by transgender contributors.
The bigotry, and rejecting fixes to broken code, are both huge parts of why Quilt exists as a Fabric alternative. The code appears to be well-maintained and the Quilt team respond to issues and errors really fast.