An easy-to-use rendering library for modern fabric.
This library can be found on Maven central.
To install it, simply add this snippet to the dependencies section of your build.gradle
.
include modImplementation("io.github.0x3c50.renderer:renderer-fabric:1.2.5")
This will include the library as a JIJ ("Jar in Jar") dependency, such that your users won't have to worry about installing it themselves.
If you don't want to include the library in your mod, remove the include
. (JUST THE include
. Keep everything else intact. It should be modImplementation(...)
)
It's important to use fabric's modImplementation
instead of the regular implementation
, since this is technically a mod that needs remapping. Using anything else except modImplementation
will not remap the library, which causes invalid names to be present.
Similarly, using fabric's include
is also recommended, since it includes the whole jar as a Jar-In-Jar ("JIJ") dependency, which fabric can handle better than just copying the classes over. JIJing it this way will make it appear in the mod list, as well as making the license and credits visible, whereas copying the classes into the final jar will just keep the library and effectively strip the metadata.
For the interested, the public key used to sign the releases is 63FF42E13662B6D604611FF4B22112D66E3EA177
, and can be found on https://keys.openpgp.org/.
Since the build contains some secrets for deploying, which are filled in by a gradle script in deploying/secrets.gradle.kts
, you will need to create that file for the build to succeed.
It doesn't have to contain anything, the secrets will just be blank by default.
The api has an extensive javadoc, which explains almost anything. The wiki also has some more insights and examples.
Renderer2d draws in 2 dimensions, on the hud. Renderer3d draws in 3 dimensions, in the world.
This library uses fabric's event system, the wiki has examples on how it works. Their wiki has more details.
You can leave suggestions in the issues section
If this library helped you, please consider leaving a star, since this library took me a while to make as it is right now :)