Interface Renderer
Renderers must ensure that terrain buffering supports
invalid reference
BlockStateModel#emitQuads
SectionBuilder
in vanilla; this code is not patched automatically. Renderers must also ensure that the
following vanilla methods support
invalid reference
BlockStateModel#emitQuads
BlockModelRenderer.render(MatrixStack.Entry, VertexConsumer, BlockStateModel, float, float, float, int, int)
BlockRenderManager.renderDamage(BlockState, BlockPos, BlockRenderView, MatrixStack, VertexConsumer)
BlockRenderManager.renderBlockAsEntity(BlockState, MatrixStack, VertexConsumerProvider, int, int)
All other places in vanilla code that invoke BlockStateModel.addParts(Random, List)
,
BlockStateModel.getParts(Random)
, or
BlockModelRenderer.render(MatrixStack.Entry, VertexConsumer, BlockStateModel, float, float, float, int, int)
are, where appropriate, patched automatically to invoke the corresponding method above or the corresponding method in
FabricBlockModelRenderer
or FabricBlockRenderManager
.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Renderer
get()
Access to the currentRenderer
for creating and retrieving mesh builders and materials.Obtain a newMutableMesh
instance to build optimized meshes and create baked models with enhanced features.static void
Rendering extension mods must implementRenderer
and call this method during initialization.void
render
(BlockModelRenderer modelRenderer, BlockRenderView blockView, BlockStateModel model, BlockState state, BlockPos pos, MatrixStack matrices, BlockVertexConsumerProvider vertexConsumers, boolean cull, long seed, int overlay) void
render
(MatrixStack.Entry matrices, BlockVertexConsumerProvider vertexConsumers, BlockStateModel model, float red, float green, float blue, int light, int overlay, BlockRenderView blockView, BlockPos pos, BlockState state) void
renderBlockAsEntity
(BlockRenderManager renderManager, BlockState state, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BlockRenderView blockView, BlockPos pos)
-
Method Details
-
get
Access to the currentRenderer
for creating and retrieving mesh builders and materials. -
register
-
mutableMesh
MutableMesh mutableMesh()Obtain a newMutableMesh
instance to build optimized meshes and create baked models with enhanced features.Renderer does not retain a reference to returned instances, so they should be re-used when possible to avoid memory allocation overhead.
-
render
@OverrideOnly void render(BlockModelRenderer modelRenderer, BlockRenderView blockView, BlockStateModel model, BlockState state, BlockPos pos, MatrixStack matrices, BlockVertexConsumerProvider vertexConsumers, boolean cull, long seed, int overlay) - See Also:
-
render
@OverrideOnly void render(MatrixStack.Entry matrices, BlockVertexConsumerProvider vertexConsumers, BlockStateModel model, float red, float green, float blue, int light, int overlay, BlockRenderView blockView, BlockPos pos, BlockState state) - See Also:
-
renderBlockAsEntity
@OverrideOnly void renderBlockAsEntity(BlockRenderManager renderManager, BlockState state, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BlockRenderView blockView, BlockPos pos) - See Also:
-
getLayerRenderStateEmitter
- See Also:
-