Closed Merith-TK closed 2 years ago
That FAQ entry was written knowing about the existence of OptiFabric. The statement has not changed. OptiFabric does not magically make us compatible, Vivecraft would still have to be rewritten as mixins, and even then would still need tons of special cases for mods like Sodium.
I dont know much about minecraft modding, but couldn't it be possible to just support loading with OptiFabric by adding a PR to the project so it looks for vivecraft as well? and the contribute to optifabric to help with vivecraft support rather than making vivecraft support fabric?
Because OptiFabric currently looks for the Optifine Installer.jar or mod.jar in the mods folder and loads that information, so in theory it would be possible for it to do the same with vivecraft
Mod incompatibility issues can be worked around by adding a statement to the Vivecraft readme that if you are using optifabric, certain mods will not work and will cause bugs, so limited support will be given to optifabric players.
Well looking for an additional jar is probably not that difficult, so in theory OptiFabric could also look for Vivecraft. But it would most likely be a lot of work to include Vivecraft into the process that OptiFabric does behind the scenes, because in contrast to Optifine (which is designed to run as a stand alone mod as well as a forge mod) Vivecraft is not designed to run as a forge mod because it alters a lot of stuff. And additionally OptiFabric would most likely need an update if a new vivecraft version is released.
Concerning mod compatibility: I don't think it really makes sense to put a lot of work into making OptiFabric work for Vivecraft, if you don't want to offer mod compatibility (at least to some extend), because the sole reason to use Vivecraft in fabric is to be able to use it together with other mods. And as far as I know mod compatibility can be a bit difficult in fabric because it's completely normal for Fabric Mods to alter minecraft code on their own (since the API is relatively small) by using mixins, while in forge only core mods are allowed to hook into minecraft code on their own, while the rest use the API forge provides. That means in case of fabric the chances are high that the changes vivecraft makes don't work well together with changes other mods make (which can result in crashes if other code relies on the injected code), while in case of forge only core mods and mods that rely on 2D behaviour or build things completely on their own instead of using appropriate base classes that minecraft/forge provide (e.g. use custom rendering for guis or don't use the Bow class if they want to implement a bow like weapon) can cause issues, but unless it's a core mod (these can cause crashes) it usually only means that some mod features might not be available/the mod being a bit weird to play. By the way if you take a look at the OptiForge Repo you'll see that OptiForge includes a bunch of mixins to be compatible with different mods, while (as far as I know) optifine itself doesn't contain compatibility code like that, either because the forge counterpart of the mods are developed with optifine in mind or because under forge the mods simply avoid compatibility issues with optifine buy using the forge api/hooks.
Since this project is not persuing Fabric support at this time, I did recently discover another project that does, that appears to be active, and would recommend others desiring VR in Fabric to look into this instead:
https://github.com/Sorenon/MCXR "VR minecraft mod using OpenXR and fabric "
Yes, i have read this http://www.vivecraft.org/faq/#fabric
however, there is a mod called
optifabric
which loads the forge optifine mod into fabric. Yes, it is not 100%, but in theory, it could work,I am sure people who want to use this mod, could be willing to give up a few liberties with conflicting mods because the only mods I have found that cause issues are Lithium and Sodium, are the mods most people will actually use to my knowledge, but with optifabric, they are no longer needed as optifine does the job