Interface IMultiblockRenderHelper

All Known Implementing Classes:
GeoMultiblockRenderer

public interface IMultiblockRenderHelper
A helper interface for making previewable multiblock entities.
  • Method Summary

    Modifier and Type
    Method
    Description
    default com.mojang.blaze3d.vertex.VertexConsumer
    getConsumer(net.minecraft.client.renderer.MultiBufferSource buffer, IMultiBlockEntity blockEntity, net.minecraft.client.resources.model.Material materialBase, net.minecraft.client.resources.model.Material materialSecondary, net.minecraft.world.level.block.Block blockSecondary)
    For when you use the same BER for 2 different blocks and just swap out the textures.
    default net.minecraft.client.renderer.RenderType
    getRenderType(PreviewMode previewMode, net.minecraft.resources.ResourceLocation texture)
     
    default net.minecraft.client.renderer.RenderType
    getRenderType(PreviewMode previewMode, net.minecraft.resources.ResourceLocation texture, net.minecraft.client.renderer.RenderType defaultRenderType)
     
    default Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType>
    Returns a translucent RenderType for when rendered as a preview.
    default Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType>
    getRenderTypeFunction(PreviewMode previewMode, Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType> defaultRenderType)
     
    default net.minecraft.world.level.Level
    A somewhat cleaner way to get the level
    default void
    render(net.minecraft.client.model.geom.ModelPart modelPart, com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float r, float g, float b, float alpha, PreviewMode previewMode)
    Should be used instead of ModelPart.render(PoseStack, VertexConsumer, int, int)
    default void
    render(net.minecraft.client.model.geom.ModelPart modelPart, com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, int packedLight, int packedOverlay, PreviewMode previewMode)
    Should be used instead of ModelPart.render(PoseStack, VertexConsumer, int, int)
  • Method Details

    • getRenderTypeFunction

      default Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType> getRenderTypeFunction(PreviewMode previewMode)
      Returns a translucent RenderType for when rendered as a preview. Use instead of specifying the RenderType directly.
    • getRenderTypeFunction

      default Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType> getRenderTypeFunction(PreviewMode previewMode, Function<net.minecraft.resources.ResourceLocation,net.minecraft.client.renderer.RenderType> defaultRenderType)
    • getRenderType

      default net.minecraft.client.renderer.RenderType getRenderType(PreviewMode previewMode, net.minecraft.resources.ResourceLocation texture)
    • getRenderType

      default net.minecraft.client.renderer.RenderType getRenderType(PreviewMode previewMode, net.minecraft.resources.ResourceLocation texture, net.minecraft.client.renderer.RenderType defaultRenderType)
    • getConsumer

      default com.mojang.blaze3d.vertex.VertexConsumer getConsumer(net.minecraft.client.renderer.MultiBufferSource buffer, IMultiBlockEntity blockEntity, net.minecraft.client.resources.model.Material materialBase, net.minecraft.client.resources.model.Material materialSecondary, net.minecraft.world.level.block.Block blockSecondary)
      For when you use the same BER for 2 different blocks and just swap out the textures.

      It's necessary to make multiple VertexConsumers instead of just 1, otherwise the RenderTypes won't apply correctly

    • level

      default net.minecraft.world.level.Level level()
      A somewhat cleaner way to get the level
    • render

      default void render(net.minecraft.client.model.geom.ModelPart modelPart, com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, int packedLight, int packedOverlay, PreviewMode previewMode)
      Should be used instead of ModelPart.render(PoseStack, VertexConsumer, int, int)

      Applies the correct color + alpha according to the supplied PreviewMode

    • render

      default void render(net.minecraft.client.model.geom.ModelPart modelPart, com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float r, float g, float b, float alpha, PreviewMode previewMode)
      Should be used instead of ModelPart.render(PoseStack, VertexConsumer, int, int)

      Applies the correct color + alpha according to the supplied PreviewMode