Render.js

Render.js

Mod

Allow to use KubeJs customize world rendering.

Client Library

103 downloads
1 follower
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

Due to the simplicity of painter API, I have developed this mod that allows you to customize world rendering.

How to use

// Similar to the painter API, register a RenderObject before rendering.
ClientEvents.loggedIn(event => {
    RenderObjectManager.register({
        example_triangle: {
            type: "triangles",
            r: 128,
            g: 255,
            b: 29,
            a: 150,
            vertices: [
                -0.120, 0.00, 0.001,
                0.0000, 0.20, 0.001,
                0.1200, 0.00, 0.001,
                -0.064, 0.03, 0.000,
                0.0000, 0.14, 0.000,
                0.0640, 0.03, 0.000
            ],
            options: {
                blend: true,
                depth_test: true,
                cull: false,
                billboard: "center"
            }
        }
    })
})

// And then, you can render it on event.

RenderEntityEvents.afterRender(event => {
    let h = event.getEntity().getBbHeight(); // entity's height
    event.renderWithOffset("example_triangle", [0.0, h + 0.2, 0.0]); // render it with offset
});

// Now, you can see that each entity has a triangle on its head!

Currently supported events:

  1. After World Render Event:
RenderLevelEvents.afterSolidBlockRender(event => {
    // do something
});
  1. After/Before Living Entity Render Event:
RenderEntityEvents.beforeRender(event => {
    // do something
});

RenderEntityEvents.afterRender(event => {
    // do something
});

You can give me suggestions in Github Issues or the comment!


Project members

3093FengMing

Member

Details

Licensed GPL-3.0-only
Published 2 months ago
Updated 2 months ago