private void render(CCRenderState ccrs, @Nullable RenderType layer, RenderData data) {

        CCModel model = models[modelKey(data.side, data.rotation)];
        MultiIconTransformation iconT = data.iconT;

        if (layer != null) {
            model.render(ccrs, iconT, ccrs.lightMatrix);
        } else {
            model.render(ccrs, iconT);
        }
    }
Needs to exist because Vanilla's default {@link ConfiguredModel} only supports a single x rotation and y rotation,
making it very difficult to render blocks that can not only be oriented to all 6 sides, but also rotated about those
sides. With only x/y rotations, we would have to use UV-mapping to rotate the textures themselves rather than the model.
core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java