Haema

Haema

727k Downloads

(Crash) Somnus not compatible

InsaanNotFound opened this issue ยท 9 comments

commented
Failed to start Minecraft:
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'paradoxconfig'!
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:53)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:137)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
	... 8 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
	at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
	at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at net.minecraft.class_2246.<clinit>(class_2246.java:99)
	at net.minecraft.class_3523.<clinit>(class_3523.java:13)
	at net.minecraft.class_5471.<clinit>(class_5471.java:11)
	at net.minecraft.class_5458.method_30573(class_5458.java:44)
	at net.minecraft.class_5458.method_30566(class_5458.java:75)
	at java.util.LinkedHashMap.forEach(Unknown Source)
	at net.minecraft.class_5458.<clinit>(class_5458.java:74)
	at net.minecraft.class_2378.<clinit>(class_2378.java:237)
	at io.github.cottonmc.jankson.JanksonFactory.builder(JanksonFactory.java:85)
	at io.github.redstoneparadox.paradoxconfig.codec.JanksonConfigCodec.<init>(JanksonConfigCodec.java:18)
	at io.github.redstoneparadox.paradoxconfig.ParadoxConfig.onPreLaunch(ParadoxConfig.java:21)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
	... 11 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector allowVampiresToSleepInDay(Lnet/minecraft/class_1937;)Z in haema.mixins.json:PlayerEntityMixin failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap haema-refmap.json
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:408)
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1291)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1042)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:395)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320)
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351)
	... 29 more
Exiting with -1
commented

Issue persists up to 1.6.0 and possibly even more recently . The somnus mixin still causes the game to crash on startup.

commented

Haema has depended on Somnus for a year now (until 1.18 versions). Please provide a log.

commented

If you're playing on 1.16.5 then I recommend using 1.7.2, not 1.6.0.

commented

Thanks for reporting. I suspect paradox config isn't the actual issue here, it's just loading a class which haema and some other mod both try to modify. What's your full mod list?

commented

I have over 250 mods, that wouldn't help much. I can send it here if you insist.

commented

@williambl sorry, haven't been active for some time.
[14:23:07] [main/WARN]: @Redirect conflict. Skipping haema.mixins.json:PlayerEntityMixin->@Redirect::allowVampiresToSleepInDay(Lnet/minecraft/class_1937;)Z with priority 1000, already redirected by somnus.mixins.json:MixinPlayerEntity->@Redirect::_somnus_isDay(Lnet/minecraft/class_1937;)Z with priority 1000
This might be helpful
https://paste.ee/p/n3yCK <- modlist as requested

commented

I also see this issue, but it is caused by a conflict with somnus.
Given I haven't added somnus myself to the modpack, some other mod seems to jar-in-jar it.

[15:31:36] [main/WARN]: @Redirect conflict. Skipping haema.mixins.json:PlayerEntityMixin->@Redirect::allowVampiresToSleepInDay(Lnet/minecraft/class_1937;)Z with priority 1000, already redirected by somnus.mixins.json:MixinPlayerEntity->@Redirect::_somnus_isDay(Lnet/minecraft/class_1937;)Z with priority 1000
[15:31:37] [main/WARN]: @Redirect conflict. Skipping haema.mixins.json:PlayerEntityMixin->@Redirect::allowVampiresToSleepInDay(Lnet/minecraft/class_1937;)Z with priority 1000, already redirected by somnus.mixins.json:MixinPlayerEntity->@Redirect::_somnus_isDay(Lnet/minecraft/class_1937;)Z with priority 1000

I guess Haema might even use Somnus instead of having their own Mixins.

*edit: I even tried to fix the Mixin myself with this:

    @Inject(method = "wakeUp(ZZ)V", at = @At(value = "HEAD"), cancellable = true)
    void allowVampiresToSleepInDay(boolean bl, boolean bl2, CallbackInfo info) {
        if(this.isVampire() && ((PlayerEntity)(Object)this).world.isDay()) {
            info.cancel();
        }
    }

But then the same conflict exists for the ServerPlayerEntityMixin, which I couldn't change into an @Inject at a glance. So I gave up.

commented

@tyra314 the next update will use somnus, which will remove this incompatibility. Thanks for reporting.

commented

Fixed in 1.5.2.