New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fabric Rendering API (FRAPI) is not supported, causing issues with some mods #5
Comments
In the discord, it says that JellySquid is going to try and implement support for the fabric rendering API for the 0.1 release, so you will soon have mod compatibility when that happens :) |
@coderbot16 is this behavior specific to rswires? I don't get a crash with just Campanion, and I don't remember TechReborn crashing either (just fluid cells being invisible). |
Haven't tested with any of those mods, it is possible that it's just RSWires. |
Yeah, Campanion doesn't actually cause any calls into the renderer API from what I can see, which is strange. (I also don't yet know how fabric rendering works, so..) |
Campanion does use the Fabric rendering api for rope bridges and things, here is an example: |
@NeusFear Is there a reason you're referencing Indigo [1] directly instead of the registered renderer? This would both explain why I don't see any calls into my dummy renderer, and why Campanion doesn't crash when another renderer is registered. |
Going to ping @Wyn-Price I don't know the details of the rendering done. |
I haven't seen any null pointer exception, but I have noticed that TechReborn's fluid cells are completely invisible and any color rendering of |
TechReborn too references Indigo directly instead of querying for the actual registered renderer. That's how they get around crashing. |
As far as I know, the plan is to eventually merge Indium into Sodium |
The release version of Sodium is incompatible with the Fabric Rendering API: CaffeineMC/sodium-fabric#5. The only way to get Sodium is to take it from the non-release 1.16.x-next branch: https://github.com/CaffeineMC/sodium-fabric, and use Indium: https://github.com/comp500/Indium. These are modified versions of Sodium-1.16.x-next and Indium since at the time I pulled these, there were new commits conflicting between the 2. I modified Indium to depend on a specific commit of Sodium. These modified snapshots will be compatible with Spoorn's World: https://www.curseforge.com/minecraft/modpacks/spoorns-world
The release version of Sodium is incompatible with the Fabric Rendering API: CaffeineMC/sodium-fabric#5. The only way to get Sodium is to take it from the non-release 1.16.x-next branch: https://github.com/CaffeineMC/sodium-fabric, and use Indium: https://github.com/comp500/Indium. These are modified versions of Sodium-1.16.x-next and Indium since at the time I pulled these, there were new commits conflicting between the 2. I modified Indium to depend on a specific commit of Sodium. These modified snapshots will be compatible with Spoorn's World: https://www.curseforge.com/minecraft/modpacks/spoorns-world main
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I have locked this issue because the conversation around it has almost entirely devolved into either users asking for progress updates or users incorrectly attributing unrelated issues with the lack of FRAPI support. As of the time being: There is no ETA for when Fabric Render API support will be implemented. We originally gave an ETA that this would happen in the 0.2 series, but doing that has effectively held the project hostage and made it very difficult for us to break the ice with a new release, as support is still not here for it. Sodium started out as my pet project, and while the community reception to it has been immense, I am still essentially the only contributor to this project who is pushing forward development with new features, optimizations, bug fixes, and improvements. My time for all this work has been paid, between donations and any other referral sources, at a rate significantly lower than even minimum wage, part-time jobs are offering around me right now. Right now, whatever time is available for me to work on these projects is often being spent on other goals, such as improving hardware support and re-structuring the code with better abstractions and APIs, etc. This work has made it significantly easier for projects such as Indium and Iris to integrate with Sodium, and while it has brought the mod closer down the path of eventually supporting FRAPI, it isn't really something tangible in the hands of players today. Summarily... It is difficult enough trying to implement a foreign API with such a large surface area into the project, and even more so when my time and energy has been stretched thin by a full-time job and such. I would encourage those who are interested in seeing support for FRAPI in Sodium to either contribute upstream to the project or to build their own addons or forks (such as Indium) so we can better understand what work is ahead of us. This is not something I can do alone, and users pushing for me to implement (again, foreign APIs for their own interests) into what is basically a pet project is not a viable strategy. |
Preliminary support now exists for This is not complete support for what people refer to as "FRAPI", but it's non-zero. |
Sodium 0.3 is now released and contains support for the aforementioned features. |
There is now experimental support for block rendering using FRAPI with 22d50ca. |
The JAR declares that it contains a rendering plugin...
However, Sodium does not currently register a renderer, causing mods to crash with a NullPointerException.
Would it be possible to have a stub implementation of Renderer that throws a more descriptive error when trying to use its methods?
Thanks for developing this amazing mod!
The text was updated successfully, but these errors were encountered: