KaptainWutax / SeedCracker

Fast, Automatic In-Game Seed Cracker for Minecraft.
MIT License
709 stars 98 forks source link

SeedCracker doesn't launch for 1.17(.x), is the "remove mc specifics" commit on SeedUtils to blame? #241

Open sudofox opened 2 years ago

sudofox commented 2 years ago

I've been trying to get SeedCracker running on a custom build, but it seems to rely on this lib:

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'seedcracker'!
    at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.63)
    at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
    at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:33)
    at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointClient.start(EntrypointClient.java:33)
    at net.minecraft.client.MinecraftClient.redirect$zbf000$catchFabricInit(MinecraftClient:3564)
    at net.minecraft.client.MinecraftClient.<init>(MinecraftClient:457)
    at net.minecraft.client.main.Main.main(Main:179)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:567)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
    at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:567)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.NoClassDefFoundError: kaptainwutax/seedutils/mc/MCVersion
    at kaptainwutax.seedcracker.SeedCracker.<clinit>(SeedCracker.java:13)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:466)
    at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50)
    at net.fabricmc.loader.EntrypointStorage$NewEntry.lambda$getOrCreate$0(EntrypointStorage.java:106)
    at java.util.HashMap.computeIfAbsent(HashMap.java:1224)
    at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:104)
    at net.fabricmc.loader.EntrypointStorage.lambda$getEntrypointContainers$1(EntrypointStorage.java:191)
    at net.fabricmc.loader.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:37)
    at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:47)
    ... 20 more
Caused by: java.lang.ClassNotFoundException: kaptainwutax.seedutils.mc.MCVersion
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:175)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    ... 30 more

Currently those classes don't exist. I looked in the build.gradle and saw that it was referencing SeedUtils @ commit 8e310c079346fa55077fd1786b50dae0d2025336 . However, 1.17 isn't actually listed in the enum in the MCVersion class file at that commit; in fact the entire class and several others seems to have been removed @ commit 5f8ef824486a077bacb90fa85aa1ef0a0a75acf4.

What's weird is that it still thinks the classes are missing, but maybe that's just due to the mc version I'm trying to run it in causing issues with the Fabric loader. I'm pretty rusty with my Java and Gradle stuff so you'd probably be better able to diagnose it.

I'm not entirely sure how to proceed here -- there's stuff about 1.17 listed in the repo but I still crash when I try to run a 1.17 build that I compiled (same thing when I update the fabric/fabric api/mc version in the gradle.properties). Is 1.17 in an unfinished state, seeing as the last released build is for 1.16.4?