Taterzens [Fabric]

Taterzens [Fabric]

86.3k Downloads

Crashes on start

ignamiranda opened this issue ยท 7 comments

commented

Using just this mod and the latest Fabric API on 1.16.5, this mod fails to launch.

Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:228)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	... 2 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(ClassLoader.java:352)
	at net.minecraft.class_2370.onChange(class_2370.java:1058)
	at net.minecraft.class_2370.handler$zda000$set(class_2370.java:1053)
	at net.minecraft.class_2370.method_10273(class_2370.java:72)
	at net.minecraft.class_2370.method_10272(class_2370.java:103)
	at net.minecraft.class_2378.method_10227(class_2378.java:292)
	at net.minecraft.class_2378.method_29108(class_2378.java:279)
	at net.minecraft.class_2378.method_10247(class_2378.java:271)
	at net.minecraft.class_2378.<clinit>(class_2378.java:152)
	at net.minecraft.class_2966.method_12851(class_2966.java:42)
	at net.minecraft.client.main.Main.main(Main.java:137)
	... 7 more
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [taterzens.mixins.json:RegistrySyncManagerMixin_TaterzenSyncDisabler] from phase [DEFAULT] in config [taterzens.mixins.json] FAILED during APPLY
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:642)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:594)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:356)
	... 23 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @ModifyVariable annotation on removeTaterzenFromSync could not find any targets matching 'createPacket()Lnet/minecraft/network/Packet;' in net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager. Using refmap taterzens-refmap.json [PREINJECT Applicator Phase -> taterzens.mixins.json:RegistrySyncManagerMixin_TaterzenSyncDisabler -> Prepare Injections ->  -> localvar$zdl000$removeTaterzenFromSync(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487; -> Parse]
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findMethods(InjectionInfo.java:572)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:288)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:275)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:267)
	at org.spongepowered.asm.mixin.injection.struct.ModifyVariableInjectionInfo.<init>(ModifyVariableInjectionInfo.java:45)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:140)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:624)
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1247)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1033)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:388)
	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)
	... 23 more```
commented

Huh, sounds like the method in FAPI was changed. Doesn't sound too much of a hassle to fix. Meanwhile you could use older fapi.

commented

Thanks!

commented

Humm, I cannot reproduce it with FAPI 0.30.3+1.16 ๐Ÿค”

commented

That's the version I'm using with Fabric Loader 0.11.2 and Taterzens 0.1.0. I tried it in different launchers to see if it was a weird exception but it crashes in the vanilla launcher, MultiMC and GDLauncher.

commented

Looking at this more, it's production-only bug, which is even worse.
I'm looking at the PolyMC as it has a similar feature, hopefully I can get some more info on how they have done it.

commented

Release 0.1.1 disables the registry sync disabler mixin, so this shouldn't occur anymore. Hopefully I can bring the feature back soon without crash.

commented

This has now been properly implemented in 0.2.0