Chocohead / OptiFabric

OptiFabric venturing out into the 1.16+ world
https://www.curseforge.com/minecraft/mc-mods/optifabric
Mozilla Public License 2.0
378 stars 109 forks source link

Not compatible with the new PreReleases #929

Open MarkinhosMLP opened 1 year ago

MarkinhosMLP commented 1 year ago

there is a lot of pre-releases for 1.19.2 and even some for 1.18.2 but its not working with optifabric, and some of them add a bunch of features that is useful for resourcepacks and stuffs, for example i need to use the latest release which was last month image

topia commented 1 year ago

I confirmed I could start 1.19.2 + optifine 1.19.2_HD_U_I1_pre4 with the limited mod set.

  [✔] fabric-api-0.69.0+1.19.2
  [✔] optifabric-1.13.16
  [✔] preview_OptiFine_1.19.2_HD_U_I1_pre4

But if optifine changes its implementation, it might break other fabric mods (and optifabric's mod compatibility layers).

MarkinhosMLP commented 1 year ago

I confirmed I could start 1.19.2 + optifine 1.19.2_HD_U_I1_pre4 with the limited mod set.

  [✔] fabric-api-0.69.0+1.19.2
  [✔] optifabric-1.13.16
  [✔] preview_OptiFine_1.19.2_HD_U_I1_pre4

But if optifine changes its implementation, it might break other fabric mods (and optifabric's mod compatibility layers).

the "preview_optifine_1.19.2_hd_u_l1_pre4" is the optifine installer or the mod itself??? cause the mod have to be extracted, when you donwload the installer it has the name preview_optifine, but when you install it, it turns into OptiFine_1.19.2_HD_U_I1_pre4_MOD.jar

topia commented 1 year ago

It's the optifine installer. optifabric works with the installer, so I don't try installing it myself. image

MarkinhosMLP commented 1 year ago

this is weird... everytime i try i get this error

Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.ExceptionInInitializerError at Not Enough Crashes deobfuscated stack trace.(1.18.2+build.3) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:463) 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.util.crash.CrashReport.asString(CrashReport:175) at net.minecraft.util.crash.CrashReport.initCrashReport(CrashReport:345) at net.minecraft.client.main.Main.method_44604(Main:159) at net.minecraft.client.main.Main.main(Main:51) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) ... 2 more Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_2586 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:145) at java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:186) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) 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.optifine.reflect.Reflector.(Reflector.java:656) ... 7 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 net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ... 20 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Delegate constructor lookup failed for @Inject target on mixins.cardinal_components_block.json:common.MixinBlockEntity from mod cardinal-components-block->@Inject::init(Lnet/minecraft/class_2591;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V at org.spongepowered.asm.mixin.injection.code.Injector.checkTargetForNode(Injector.java:374) at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.addTargetNode(CallbackInjector.java:440) at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:241) 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) ... 23 more

but its fully functional with full releases

topia commented 1 year ago
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Delegate constructor lookup failed for @Inject target on mixins.cardinal_components_block.json:common.MixinBlockEntity from mod cardinal-components-block->@Inject::init(Lnet/minecraft/class_2591;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V

This should be another optifine compatibility issue between optifine and cardinal-components mod, introduced by new modifications with optifine pre-release versions.

MarkinhosMLP commented 1 year ago

hmmm, makes sense do u have any speculation for what type of mods it could be? like, mods that mess with rendering, and stuff like that?

topia commented 1 year ago

Optifine seems to decompile and recompile the target class, create binary diff and distribute it. So, any optifine patching class may cause compatibility issues.

For a surprising (to me) example, JEI incompatibility is caused by Keyboard Hander.

Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Callback method beforeCharTypedEvent(Lnet/minecraft/class_364;IILorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V in jei.mixins.json:KeyboardHandlerMixin from mod jei failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap jei-1.19.2-fabric-refmap.json

I haven't checked thoroughly, but I think "GUI and rendering" are likely. it might be broader than what you want, but I can only say this.