Carpet TIS Addition

Carpet TIS Addition

461k Downloads

Incompatible with FastCrystal

sternschnaube opened this issue · 3 comments

commented

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.
commented

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

commented

I was reporting the issue directly to his Discord.

commented

Closed as not planned for non-open-source mod, and the given FastCrystal modrinth page (https://modrinth.com/mod/fastcrystal) is no longer valid