Incompatible with FastCrystal
sternschnaube opened this issue · 3 comments
Bug description
Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.ExceptionInInitializerError
at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
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: java.lang.ExceptionInInitializerError
at net.minecraft.class_2358.method_10199(class_2358.java:326)
at net.minecraft.class_2966.method_12851(class_2966.java:54)
at net.minecraft.client.main.Main.main(Main.java:166)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
... 2 more
Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_1774 failed
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
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:112)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.class_6089.method_9530(class_6089.java:56)
at net.minecraft.class_4970$class_4971.method_26172(class_4970.java:1032)
at net.minecraft.class_4970$class_4971.method_26218(class_4970.java:1028)
at net.minecraft.class_4970.method_9549(class_4970.java:349)
at net.minecraft.class_4970$class_4971$class_3752.(class_4970.java:1293)
at net.minecraft.class_4970$class_4971.method_26200(class_4970.java:843)
at net.minecraft.class_2246.(class_2246.java:1185)
... 6 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:392)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at io.gitlab.jfronny.libjf.unsafe.asm.AsmTransformer.transformClassBytes(AsmTransformer.java:75)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
... 17 more
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [carpet-tis-addition.mixins.json:rule.entityPlacementIgnoreCollision.EndCrystalItemMixin from mod carpet-tis-addition] from phase [DEFAULT] in config [carpet-tis-addition.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)
... 21 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @at("INVOKE") on net/minecraft/class_1774::entityPlacementIgnoreCollision_skipAirCheck with priority 1000 cannot inject into net/minecraft/class_1774::method_7884(Lnet/minecraft/class_1838;)Lnet/minecraft/class_1269; merged by mrbubblegum.fastcrystal.obf.mixin.m with priority 1000 [PREINJECT Applicator Phase -> carpet-tis-addition.mixins.json:rule.entityPlacementIgnoreCollision.EndCrystalItemMixin from mod carpet-tis-addition -> Prepare Injections -> -> modify$cnj000$carpet-tis-addition$entityPlacementIgnoreCollision_skipAirCheck(Lnet/minecraft/class_2338;)Lnet/minecraft/class_2338; -> Prepare]
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:1337)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1053)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:395)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327)
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)
... 21 more
Steps to reproduce
Install: https://modrinth.com/mod/fastcrystal
Expected behavior
No response
Actual behavior
No response
Relevant logs
No response
Minecraft version
1.20.1
Carpet TIS Addition version
1.49.0
Fabric Carpet version
1.4.112+v230608
Other information
No response
Check list
- I have verified that the issue persists in the latest version of the mod.
- I have searched the existing issues and confirmed that this is not a duplicate.
FastCrystal overwrites method net.minecraft.item.EnderEyeItem#useOnBlock
with mixin with default priority 1000, which causes this issue. Every mod injects into this method will conflict with it
I'll suggest to make an issue on FastCrystal side, let its author uses smaller mixin priority (e.g. 500), and hope the overwrite modification is small enough. If it still doesn't work, then it just does't work
Also since FastCrystal is not open source and obfuscates its mod, I won't try to adapt Carpet-TIS-Addition to be compatible with it
Closed as not planned for non-open-source mod, and the given FastCrystal modrinth page (https://modrinth.com/mod/fastcrystal) is no longer valid