Incompatible with Health Overlay mod
SargRReal opened this issue ยท 2 comments
When running the two mods together, it crashes the game.
My only suggestion is, maybe custom hearts could have the option to be placed above(and maybe be separated from) normal hearts for compatibility in config?
Here's the error in question from the crash report and latest log (they're both different idk)
Log:
[09:17:56] [Render thread/ERROR]: Mixin apply for mod victus failed victus.mixins.json:client.InGameHudMixin from mod victus -> net.minecraft.class_329: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @at("INVOKE") on net/minecraft/class_329::storeLocals with priority 1000 cannot inject into net/minecraft/class_329::method_37298(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZ)V merged by terrails.healthoverlay.fabric.mixin.GuiMixin with priority 1000 [PREINJECT Applicator Phase -> victus.mixins.json:client.InGameHudMixin from mod victus -> Prepare Injections -> -> handler$gbh000$storeLocals(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;Lnet/minecraft/class_329$class_6411;IIIIIIIII)V -> Prepare]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @at("INVOKE") on net/minecraft/class_329::storeLocals with priority 1000 cannot inject into net/minecraft/class_329::method_37298(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZ)V merged by terrails.healthoverlay.fabric.mixin.GuiMixin with priority 1000 [PREINJECT Applicator Phase -> victus.mixins.json:client.InGameHudMixin from mod victus -> Prepare Injections -> -> handler$gbh000$storeLocals(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;Lnet/minecraft/class_329$class_6411;IIIIIIIII)V -> Prepare]
at Not Enough Crashes deobfuscated stack trace.(1.19+build.4) ~[?:?]
at org.spongepowered.asm.mixin.injection.code.Injector.findTargetNodes(Injector.java:305) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:240) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.prepare(InjectionInfo.java:421) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1338) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1043) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:414) ~[fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:145) ~[fabric-loader-0.14.9.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.minecraft.client.MinecraftClient.(MinecraftClient:586) ~[?:?]
at net.minecraft.client.main.Main.main(Main:198) [client-intermediary.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.9.jar:?]
[09:17:56] [Render thread/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
Crash report:
java.lang.RuntimeException: Mixin transformation of net.minecraft.class_329 failed
at Not Enough Crashes deobfuscated stack trace.(1.19+build.4)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:419)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:145)
at java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.client.MinecraftClient.(MinecraftClient:586)
at net.minecraft.client.main.Main.main(Main:198)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
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:392)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:414)
... 9 more
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [victus.mixins.json:client.InGameHudMixin from mod victus] from phase [DEFAULT] in config [victus.mixins.json] FAILED during APPLY
at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:589)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379)
... 12 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @at("INVOKE") on net/minecraft/class_329::storeLocals with priority 1000 cannot inject into net/minecraft/class_329::method_37298(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZ)V merged by terrails.healthoverlay.fabric.mixin.GuiMixin with priority 1000 [PREINJECT Applicator Phase -> victus.mixins.json:client.InGameHudMixin from mod victus -> Prepare Injections -> -> handler$gbh000$storeLocals(Lnet/minecraft/class_4587;Lnet/minecraft/class_1657;IIIIFIIIZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;Lnet/minecraft/class_329$class_6411;IIIIIIIII)V -> Prepare]
at Not Enough Crashes deobfuscated stack trace.(1.19+build.4)
at org.spongepowered.asm.mixin.injection.code.Injector.findTargetNodes(Injector.java:305)
at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:240)
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.prepare(InjectionInfo.java:421)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1338)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1043)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
... 12 more
Can confirm, posted on health overlay as well
https://github.com/Terrails/HealthOverlay/issues/37
This is a known problem that I sadly do not have the time to fix. Separating the victus hearts from the normal bar would require signifcant effort, especially when compatibility with Health Overlay is required. Generally, using Victus together with Health Overlay would more or less defeat the point of HO since all Victus hearts need to visible at all times and as such only very little space savings for the health HUD are actually achieved.
Cheers