Interface IRenderableModel

All Known Implementing Classes:
BedrockGeometryModel, IndexedModel, LevelOfDetail, MultiLODModel, ObjModel

public interface IRenderableModel
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Cleans up the model's VertexBuffer
    com.mojang.blaze3d.vertex.MeshData
    createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexFormat vertexFormat, com.mojang.blaze3d.vertex.VertexFormat.Mode mode)
    Creates a MeshData object for the model typically used in instanced rendering.
    default com.mojang.blaze3d.vertex.MeshData
    createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType)
     
    default void
    createModelBuffer(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType)
    Creates and uploads the model's VertexBuffer if it doesn't already exist.
    com.mojang.blaze3d.vertex.VertexBuffer
    Gets the model's VertexBuffer
    net.minecraft.resources.ResourceLocation
    Gets the model's ResourceLocation
    void
    Loads the model data from its source
    void
    render(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, net.minecraft.client.renderer.RenderType renderType)
    Renders the model using the provided PoseStack and VertexConsumer
    default void
    render(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource)
    Renders the model using the provided PoseStack and RenderType
    default void
    renderInstanced(com.mojang.blaze3d.vertex.PoseStack poseStack, org.joml.Matrix4f frustrumMatrix, org.joml.Matrix4f projectionMatrix, net.minecraft.client.renderer.RenderType renderType, int instances)
    Renders the model using instanced rendering using a generated VertexBuffer.
    void
    setModelBuffer(com.mojang.blaze3d.vertex.VertexBuffer buffer)
    Sets the model's VertexBuffer
  • Method Details

    • getModelLocation

      net.minecraft.resources.ResourceLocation getModelLocation()
      Gets the model's ResourceLocation
      Returns:
      The model's ResourceLocation
    • loadModel

      void loadModel()
      Loads the model data from its source
    • render

      void render(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, net.minecraft.client.renderer.RenderType renderType)
      Renders the model using the provided PoseStack and VertexConsumer
    • getModelBuffer

      com.mojang.blaze3d.vertex.VertexBuffer getModelBuffer()
      Gets the model's VertexBuffer
      Returns:
      The model's VertexBuffer
    • setModelBuffer

      void setModelBuffer(com.mojang.blaze3d.vertex.VertexBuffer buffer)
      Sets the model's VertexBuffer
      Parameters:
      buffer - The VertexBuffer to set
    • createMesh

      com.mojang.blaze3d.vertex.MeshData createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexFormat vertexFormat, com.mojang.blaze3d.vertex.VertexFormat.Mode mode)
      Creates a MeshData object for the model typically used in instanced rendering.
      Parameters:
      poseStack - The PoseStack to use
      vertexFormat - The VertexFormat to use
      mode - The VertexFormat.Mode to use
      Returns:
      The created MeshData
    • render

      default void render(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource)
      Renders the model using the provided PoseStack and RenderType
      Parameters:
      poseStack - poseStack
      renderType - renderType
      bufferSource - bufferSource
    • renderInstanced

      default void renderInstanced(com.mojang.blaze3d.vertex.PoseStack poseStack, org.joml.Matrix4f frustrumMatrix, org.joml.Matrix4f projectionMatrix, net.minecraft.client.renderer.RenderType renderType, int instances)
      Renders the model using instanced rendering using a generated VertexBuffer.
      Parameters:
      poseStack - The PoseStack to use
      frustrumMatrix - The view matrix
      projectionMatrix - The projection matrix
      renderType - The RenderType to use
      instances - Number of instances to render
    • createModelBuffer

      @Internal default void createModelBuffer(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType)
      Creates and uploads the model's VertexBuffer if it doesn't already exist.
      Parameters:
      poseStack -
      renderType -
    • createMesh

      @Internal default com.mojang.blaze3d.vertex.MeshData createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType)
    • cleanup

      @Internal default void cleanup()
      Cleans up the model's VertexBuffer