Harvest Scythes

Harvest Scythes

7M Downloads

2.2.0 causing startup crash

LeoKira997 opened this issue ยท 3 comments

commented

Made a fresh MC 1.18 instance in MultiMC, installed Fabric and added Harvest Scythes as the only mod (aside from Fabric API, obviously) and Minecraft crashes on startup. Removed Harvest Scythes and it does not crash. Fabric Loader 0.12.6 and Fabric API 0.43.1+1.18

Could not find code source for magic-at:/net/minecraft/class_1886$15.class: java.net.MalformedURLException: unknown protocol: magic-at
[16:35:07] [main/ERROR]: Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.IncompatibleClassChangeError: class net.minecraft.class_1886$15 cannot inherit from sealed class net.minecraft.class_1886
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:601) ~[fabric-loader-0.12.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.12.6.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.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Caused by: java.lang.IncompatibleClassChangeError: class net.minecraft.class_1886$15 cannot inherit from sealed class net.minecraft.class_1886
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1012) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:218) ~[fabric-loader-0.12.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:156) ~[fabric-loader-0.12.6.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.12.6.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.minecraft.class_1900.(class_1900.java:36) ~[intermediary-minecraft-1.18-client.jar:?]
at net.minecraft.class_1893.(class_1893.java:15) ~[intermediary-minecraft-1.18-client.jar:?]
at net.minecraft.class_2378.method_10243(class_2378.java:175) ~[intermediary-minecraft-1.18-client.jar:?]
at net.minecraft.class_2378.method_34031(class_2378.java:278) ~[intermediary-minecraft-1.18-client.jar:?]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[?:?]
at net.minecraft.class_2378.(class_2378.java:277) ~[intermediary-minecraft-1.18-client.jar:?]
at net.minecraft.class_2966.method_12851(class_2966.java:49) ~[intermediary-minecraft-1.18-client.jar:?]
at net.minecraft.client.main.Main.main(Main.java:153) ~[minecraft-1.18-client.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:599) ~[fabric-loader-0.12.6.jar:?]
... 10 more
Process exited with code 1.

commented

I believe this is an issue/lack of java 17 support from Fabric ASM. In java 17's bytecode enum's with anonymous classes are sealed. The (most likely trivial fix) is for fabric asm to permit this class.

A workaround for now would be to use an access widener on EnchantmentTarget set to be extendable extendable class net/minecraft/enchantment/EnchantmentTarget, access widener should hopefully strip the seal from the enum without issue.

commented

Just encountered the same issue, nice to see it's already being taken care of.

commented

Should be fixed, uploading on CF in a bit.