Class LevelRenderContextImpl

java.lang.Object
net.fabricmc.fabric.impl.client.rendering.level.LevelRenderContextImpl
All Implemented Interfaces:
AbstractLevelRenderContext, LevelRenderContext, LevelTerrainRenderContext, LevelRenderContextBackwardsCompatHack

public final class LevelRenderContextImpl extends Object implements AbstractLevelRenderContext, LevelTerrainRenderContext, LevelRenderContext
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    net.minecraft.client.renderer.MultiBufferSource.BufferSource
    The MultiBufferSource instance being used by the level renderer for most non-terrain renders.
    net.minecraft.client.renderer.GameRenderer
    The game renderer instance.
    net.minecraft.client.renderer.LevelRenderer
    The level renderer instance doing the rendering and invoking the event.
    net.minecraft.client.renderer.state.level.LevelRenderState
    The render state for the level being rendered.
    @Nullable com.mojang.blaze3d.vertex.PoseStack
     
    void
    prepare(net.minecraft.client.renderer.GameRenderer gameRenderer, net.minecraft.client.renderer.LevelRenderer levelRenderer, net.minecraft.client.renderer.state.level.LevelRenderState levelRenderState, net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender, net.minecraft.client.renderer.SubmitNodeCollector nodeCollector, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource)
     
    net.minecraft.client.renderer.chunk.ChunkSectionsToRender
    The render state for all chunk section to be rendered.
    void
    setPoseStack(@Nullable com.mojang.blaze3d.vertex.PoseStack poseStack)
     
    net.minecraft.client.renderer.SubmitNodeCollector
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LevelRenderContextImpl

      public LevelRenderContextImpl()
  • Method Details

    • prepare

      public void prepare(net.minecraft.client.renderer.GameRenderer gameRenderer, net.minecraft.client.renderer.LevelRenderer levelRenderer, net.minecraft.client.renderer.state.level.LevelRenderState levelRenderState, net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender, net.minecraft.client.renderer.SubmitNodeCollector nodeCollector, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource)
    • setPoseStack

      public void setPoseStack(@Nullable com.mojang.blaze3d.vertex.PoseStack poseStack)
    • gameRenderer

      public net.minecraft.client.renderer.GameRenderer gameRenderer()
      Description copied from interface: AbstractLevelRenderContext
      The game renderer instance.
      Specified by:
      gameRenderer in interface AbstractLevelRenderContext
      Returns:
      GameRenderer instance
    • levelRenderer

      public net.minecraft.client.renderer.LevelRenderer levelRenderer()
      Description copied from interface: AbstractLevelRenderContext
      The level renderer instance doing the rendering and invoking the event.
      Specified by:
      levelRenderer in interface AbstractLevelRenderContext
      Returns:
      LevelRenderer instance invoking the event
    • levelState

      public net.minecraft.client.renderer.state.level.LevelRenderState levelState()
      Description copied from interface: AbstractLevelRenderContext
      The render state for the level being rendered.

      Render states contain information about the current frame used for rendering, and should be used instead of accessing the level or other objects directly from rendering events.

      Specified by:
      levelState in interface AbstractLevelRenderContext
      Returns:
      LevelRenderState instance
    • sectionsToRender

      public net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender()
      Description copied from interface: LevelTerrainRenderContext
      The render state for all chunk section to be rendered.

      Render states contain information about the current frame used for rendering, and should be used instead of accessing the level or other objects directly from rendering events.

      Specified by:
      sectionsToRender in interface LevelTerrainRenderContext
    • submitNodeCollector

      public net.minecraft.client.renderer.SubmitNodeCollector submitNodeCollector()
      Specified by:
      submitNodeCollector in interface LevelRenderContext
    • poseStack

      public @Nullable com.mojang.blaze3d.vertex.PoseStack poseStack()
      Specified by:
      poseStack in interface LevelRenderContext
    • bufferSource

      public net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource()
      Description copied from interface: LevelRenderContext
      The MultiBufferSource instance being used by the level renderer for most non-terrain renders. Generally this will be better for most use cases because quads for the same layer can be buffered incrementally and then drawn all at once by the level renderer.

      IMPORTANT - all vertex coordinates sent to consumers should be relative to the camera to be consistent with other quads emitted by the level renderer and other mods. If this isn't possible, caller should use a separate "immediate" instance.

      Renders that cannot draw in one of the supported events must be drawn directly to the frame buffer, preferably in LevelRenderEvents.END_MAIN to avoid being overdrawn or cleared.

      Specified by:
      bufferSource in interface LevelRenderContext
      Specified by:
      bufferSource in interface LevelRenderContextBackwardsCompatHack