Interface Renderer
Renderers must ensure that terrain buffering supports
invalid reference
BlockStateModel#emitQuadsSectionBuilder 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 Rendererget()Access to the currentRendererfor creating and retrieving mesh builders and materials.Obtain a newMutableMeshinstance to build optimized meshes and create baked models with enhanced features.static voidRendering extension mods must implementRendererand call this method during initialization.voidrender(BlockModelRenderer modelRenderer, BlockRenderView blockView, BlockStateModel model, BlockState state, BlockPos pos, MatrixStack matrices, BlockVertexConsumerProvider vertexConsumers, boolean cull, long seed, int overlay) voidrender(MatrixStack.Entry matrices, BlockVertexConsumerProvider vertexConsumers, BlockStateModel model, float red, float green, float blue, int light, int overlay, BlockRenderView blockView, BlockPos pos, BlockState state) voidrenderBlockAsEntity(BlockRenderManager renderManager, BlockState state, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BlockRenderView blockView, BlockPos pos)
-
Method Details
-
get
Access to the currentRendererfor creating and retrieving mesh builders and materials. -
register
-
mutableMesh
MutableMesh mutableMesh()Obtain a newMutableMeshinstance 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:
-