Render.js

Render.js

Allow to use KubeJs customize world rendering.

1 049 downloads 4 followers

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!

No gallery available for this project.

Version Minecraft Loader Download

1.0.5

1.20.1
forge, neoforge
Download

1.0.4

1.20.1
forge, neoforge
Download