Class AddSectionGeometryEvent.SectionRenderingContext

java.lang.Object
net.neoforged.neoforge.client.event.AddSectionGeometryEvent.SectionRenderingContext
Enclosing class:
AddSectionGeometryEvent

public static final class AddSectionGeometryEvent.SectionRenderingContext extends Object
  • Field Details

  • Constructor Details

    • SectionRenderingContext

      public SectionRenderingContext(Function<RenderType,VertexConsumer> getOrCreateLayer, BlockAndTintGetter region, PoseStack poseStack)
      Parameters:
      getOrCreateLayer - a function that, given a "chunk render type", returns the corresponding buffer and adds it to the section if it is not already present.
      region - a view of the section and some surrounding blocks
      poseStack - the transformations to use, currently set to the chunk origin at unit scaling and no rotation.
  • Method Details

    • getOrCreateChunkBuffer

      public VertexConsumer getOrCreateChunkBuffer(RenderType type)
      Returns the builder for the given render type/layer in the chunk section. If the render type is not already present in the section, marks the type as present in the section.
      Parameters:
      type - the render type to retrieve a builder for. This has to be one of the render types listed in RenderType.chunkBufferLayers().
      Returns:
      a vertex consumer adding geometry of the specified layer
      Throws:
      IllegalArgumentException - if the passed render type is not in RenderType.chunkBufferLayers().
    • getQuadLighter

      public QuadLighter getQuadLighter(boolean smooth)
      Parameters:
      smooth - whether a lighter for "smooth"/"ambient occlusion" lighting should be returned rather than a "flat" one
      Returns:
      a quad lighter usable on the current thread
    • getPoseStack

      public PoseStack getPoseStack()
    • getRegion

      public BlockAndTintGetter getRegion()
      Returns:
      the "view" on the client world used in the current chunk meshing thread. This will generally only contain blocks in a small radius around the section being rendered.