User Tools

Site Tools


tutorial:blockentityrenderers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
tutorial:blockentityrenderers [2019/12/14 10:42] – Add link to 1.14 tutorial juuztutorial:blockentityrenderers [2021/05/18 05:20] – [Introduction] solidblock
Line 1: Line 1:
 ====== Rendering blocks and items dynamically using block entity renderers ====== ====== Rendering blocks and items dynamically using block entity renderers ======
  
-//This is the 1.15 version of this tutorial. For the latest version, see [tutorial:1.14:blockentityrenderers|Rendering blocks and items dynamically using block entity renderers (1.14)].//+//This is the 1.15 & 1.16 version of this tutorial. For the 1.14 version, see [[tutorial:1.14:blockentityrenderers|Rendering blocks and items dynamically using block entity renderers (1.14)]].//
  
 Make sure you [[tutorial:blockentity|added a block entity]] before reading this tutorial!  Make sure you [[tutorial:blockentity|added a block entity]] before reading this tutorial! 
 ===== Introduction ===== ===== Introduction =====
-Blocks by themselves aren't that interesting,  +Blocks by themselves aren't that interesting, they just stay static at a certain location and a certain size until broken. We can use block entity renderers to render items and blocks associated with a block entity far more dynamically - render multiple different items, at differing locations and sizes, and more.  
-they just stay static at a certain location and a certain size until broken. +
-We can use block entity renderers to render items and blocks associated with a block entity far more dynamically - render multiple different items,  +
-at differing locations and sizes, and more.  +
 ===== Example ===== ===== Example =====
 In this tutorial we'll build off the block entity we created by adding a ''BlockEntityRenderer'' to it.  In this tutorial we'll build off the block entity we created by adding a ''BlockEntityRenderer'' to it. 
Line 60: Line 57:
 @Override @Override
 public void onInitializeClient() { public void onInitializeClient() {
-    BlockEntityRendererRegistry.INSTANCE.register(DemoBlockEntity.class, MyBlockEntityRenderer::new);+    BlockEntityRendererRegistry.INSTANCE.register(DEMO_BLOCK_ENTITY, MyBlockEntityRenderer::new);
 } }
 </code> </code>
Line 98: Line 95:
     public void render(DemoBlockEntity blockEntity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {     public void render(DemoBlockEntity blockEntity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {
         [...]         [...]
-        MinecraftClient.getInstance().getItemRenderer().renderItem(stack, ModelTransformation.Type.GROUND, light, overlay, matrices, vertexConsumers);+        MinecraftClient.getInstance().getItemRenderer().renderItem(stack, ModelTransformation.Mode.GROUND, light, overlay, matrices, vertexConsumers);
  
         // Mandatory call after GL calls         // Mandatory call after GL calls
Line 119: Line 116:
                  
         int lightAbove = WorldRenderer.getLightmapCoordinates(blockEntity.getWorld(), blockEntity.getPos().up());         int lightAbove = WorldRenderer.getLightmapCoordinates(blockEntity.getWorld(), blockEntity.getPos().up());
-        MinecraftClient.getInstance().getItemRenderer().renderItem(stack, ModelTransformation.Type.GROUND, lightAbove, OverlayTexture.DEFAULT_UV, matrices, vertexConsumers);+        MinecraftClient.getInstance().getItemRenderer().renderItem(stack, ModelTransformation.Mode.GROUND, lightAbove, OverlayTexture.DEFAULT_UV, matrices, vertexConsumers);
                  
         [...]         [...]
tutorial/blockentityrenderers.txt · Last modified: 2023/02/09 13:14 by mschae23