OptiFabric

OptiFabric

9M Downloads

Not compatible with the new PreReleases

MarkinhosMLP opened this issue · 7 comments

commented

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

commented

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

commented

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

commented

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

commented

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

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

commented

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?

commented

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.