Mod Crash another Mod (Infinite Music)
suerion opened this issue · 8 comments
Hey, i had used Infinite Music, but allways on adding crash assistant, it crash the client on start.
Without it does work
Fabric 1.21.1 on 0.16.9
latest.log:
https://mclo.gs/wGJl089
Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.class_310
at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.16.9.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:482) ~[fabric-loader-0.16.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.16.9.jar:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.class_310
at knot/net.minecraft.client.main.Main.main(Main.java:210) ~[fabric-loader-0.16.9-1.21.1.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) ~[fabric-loader-0.16.9.jar:?]
... 2 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "main"]
at knot/net.minecraft.class_310.<clinit>(class_310.java:265) ~[client-intermediary.jar:?]
at knot/dev.plasticstraw.inf_music.InfiniteMusic.<clinit>(InfiniteMusic.java:30) ~[infinite-music-0.4.6.jar:?]
at knot/net.minecraft.class_5195.handler$gne000$infinite-music$addGameplayMusic(class_5195.java:1027) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_5195.<init>(class_5195.java:25) ~[client-intermediary.jar:?]
at knot/com.biomemusic.AdditionalMusic.<clinit>(AdditionalMusic.java:20) ~[biomemusic-fabric-1.21-2.5.jar:?]
at knot/net.minecraft.class_3417.handler$cdl001$biomemusic$onInit(class_3417.java:1722) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_3417.<clinit>(class_3417.java:1619) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_2766.<clinit>(class_2766.java:9) ~[client-intermediary.jar:?]
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) ~[?:?]
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160) ~[?:?]
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300) ~[?:?]
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(MethodHandleAccessorFactory.java:71) ~[?:?]
at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(ReflectionFactory.java:159) ~[?:?]
at java.base/java.lang.reflect.Method.acquireMethodAccessor(Method.java:726) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[?:?]
at java.base/java.lang.Class.getEnumConstantsShared(Class.java:4014) ~[?:?]
at java.base/java.lang.Class.getEnumConstants(Class.java:3989) ~[?:?]
at knot/net.minecraft.class_2754.method_11848(class_2754.java:73) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_2754.method_11850(class_2754.java:69) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_2741.<clinit>(class_2741.java:144) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_2358.<clinit>(class_2358.java:43) ~[client-intermediary.jar:?]
at knot/net.minecraft.class_2966.method_12851(class_2966.java:52) ~[client-intermediary.jar:?]
at knot/net.minecraft.client.main.Main.main(Main.java:130) ~[fabric-loader-0.16.9-1.21.1.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) ~[fabric-loader-0.16.9.jar:?]
... 2 more
latest.log without crash assistant
https://mclo.gs/qriAEGp
My mod does simple mixin to MinecraftClient which does simple logic on return of function stop(). This can't break anything.
Seems like some mod does shit with this class.
Try disabling mods which will be printed with this powershell command.
Add-Type -AssemblyName System.IO.Compression.FileSystem
Get-ChildItem *.jar | ForEach-Object {
$jarFile = $_.FullName
$zipArchive = [System.IO.Compression.ZipFile]::OpenRead($jarFile)
foreach ($entry in $zipArchive.Entries) {
if ($entry.FullName -match "\.json$") {
$stream = $entry.Open()
$reader = New-Object System.IO.StreamReader($stream)
$content = $reader.ReadToEnd()
$reader.Close()
$stream.Close()
if ($content -match "class_310") {
Write-Output $jarFile
break
}
}
}
$zipArchive.Dispose()
}
Nvm, found reason.
The issue ,what some mod also packed in jar in jar core-3.6.4.jar and toml-3.6.4.jar but this files are corrupted/ doesn't actually contain night config of 3.6.4 version.
Will fix soon.
Nvm, found reason. The issue ,what some mod also packed in jar in jar core-3.6.4.jar and toml-3.6.4.jar but this files are corrupted/ doesn't actually contain night config of 3.6.4 version. Will fix soon.
no problem, sorry i was not able to test it yet, because of christmas with family and so...
but thanks for the powershell code to check some items
I was a little bit wrong with the explanation.
The error occurs because when a couple of mods are added using a jar-in-jar dependency, Fabric uses the dependency with the latest version. The problem is that this mod was built for the night config of a previous version, and if you try to use it with the night config of the next version, it will cause errors.
You don’t need to search for the mod.
Technically, this isn’t a bug, but rather an issue with the Fabric mod loader...
This won’t be fixed, so we’ll have to accept this feature of how Fabric works.
I have some ideas on how to fix this and am working on it.
Hey, yes, i had today an christmas party, than i could look again on it.
Will come back to you :)
Cant't reproduce on clear setup Infinite Music + CrashAssistant.
I assumed Automodpack done this, but also can't reproduce with Infinite Music + CrashAssistant + Auto Modpack.
Also tried adding Biome Music mod. No effect.
Can you try to find another mod causing class_310(MinecraftClient) load correctly? With binary search.
Or I need your modpack.