Class BufferBuilder

All Implemented Interfaces:
BufferVertexConsumer, VertexConsumer

@Environment(CLIENT) public class BufferBuilder extends FixedColorVertexConsumer implements BufferVertexConsumer
Mappings:
Namespace Name
official eal
intermediary net/minecraft/class_287
named net/minecraft/client/render/BufferBuilder
  • Field Details

    • MAX_BUFFER_SIZE

      private static final int MAX_BUFFER_SIZE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f Leal;f:I
      intermediary field_32050 Lnet/minecraft/class_287;field_32050:I
      named MAX_BUFFER_SIZE Lnet/minecraft/client/render/BufferBuilder;MAX_BUFFER_SIZE:I
    • LOGGER

      private static final org.slf4j.Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official g Leal;g:Lorg/slf4j/Logger;
      intermediary field_1557 Lnet/minecraft/class_287;field_1557:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/client/render/BufferBuilder;LOGGER:Lorg/slf4j/Logger;
    • buffer

      private ByteBuffer buffer
      Mappings:
      Namespace Name Mixin selector
      official h Leal;h:Ljava/nio/ByteBuffer;
      intermediary field_1555 Lnet/minecraft/class_287;field_1555:Ljava/nio/ByteBuffer;
      named buffer Lnet/minecraft/client/render/BufferBuilder;buffer:Ljava/nio/ByteBuffer;
    • builtBufferCount

      private int builtBufferCount
      Mappings:
      Namespace Name Mixin selector
      official i Leal;i:I
      intermediary field_39061 Lnet/minecraft/class_287;field_39061:I
      named builtBufferCount Lnet/minecraft/client/render/BufferBuilder;builtBufferCount:I
    • batchOffset

      private int batchOffset
      Mappings:
      Namespace Name Mixin selector
      official j Leal;j:I
      intermediary field_39062 Lnet/minecraft/class_287;field_39062:I
      named batchOffset Lnet/minecraft/client/render/BufferBuilder;batchOffset:I
    • elementOffset

      private int elementOffset
      Mappings:
      Namespace Name Mixin selector
      official k Leal;k:I
      intermediary field_20884 Lnet/minecraft/class_287;field_20884:I
      named elementOffset Lnet/minecraft/client/render/BufferBuilder;elementOffset:I
    • vertexCount

      private int vertexCount
      Mappings:
      Namespace Name Mixin selector
      official l Leal;l:I
      intermediary field_1554 Lnet/minecraft/class_287;field_1554:I
      named vertexCount Lnet/minecraft/client/render/BufferBuilder;vertexCount:I
    • currentElement

      @Nullable private @Nullable VertexFormatElement currentElement
      Mappings:
      Namespace Name Mixin selector
      official m Leal;m:Leaw;
      intermediary field_1558 Lnet/minecraft/class_287;field_1558:Lnet/minecraft/class_296;
      named currentElement Lnet/minecraft/client/render/BufferBuilder;currentElement:Lnet/minecraft/client/render/VertexFormatElement;
    • currentElementId

      private int currentElementId
      Mappings:
      Namespace Name Mixin selector
      official n Leal;n:I
      intermediary field_1553 Lnet/minecraft/class_287;field_1553:I
      named currentElementId Lnet/minecraft/client/render/BufferBuilder;currentElementId:I
    • format

      private VertexFormat format
      Mappings:
      Namespace Name Mixin selector
      official o Leal;o:Leav;
      intermediary field_1565 Lnet/minecraft/class_287;field_1565:Lnet/minecraft/class_293;
      named format Lnet/minecraft/client/render/BufferBuilder;format:Lnet/minecraft/client/render/VertexFormat;
    • drawMode

      private VertexFormat.DrawMode drawMode
      Mappings:
      Namespace Name Mixin selector
      official p Leal;p:Leav$b;
      intermediary field_1567 Lnet/minecraft/class_287;field_1567:Lnet/minecraft/class_293$class_5596;
      named drawMode Lnet/minecraft/client/render/BufferBuilder;drawMode:Lnet/minecraft/client/render/VertexFormat$DrawMode;
    • textured

      private boolean textured
      Mappings:
      Namespace Name Mixin selector
      official q Leal;q:Z
      intermediary field_21594 Lnet/minecraft/class_287;field_21594:Z
      named textured Lnet/minecraft/client/render/BufferBuilder;textured:Z
    • hasOverlay

      private boolean hasOverlay
      Mappings:
      Namespace Name Mixin selector
      official r Leal;r:Z
      intermediary field_21595 Lnet/minecraft/class_287;field_21595:Z
      named hasOverlay Lnet/minecraft/client/render/BufferBuilder;hasOverlay:Z
    • building

      private boolean building
      Mappings:
      Namespace Name Mixin selector
      official s Leal;s:Z
      intermediary field_1556 Lnet/minecraft/class_287;field_1556:Z
      named building Lnet/minecraft/client/render/BufferBuilder;building:Z
    • sortingPrimitiveCenters

      @Nullable private @Nullable Vec3f[] sortingPrimitiveCenters
      Mappings:
      Namespace Name Mixin selector
      official t Leal;t:[Lk;
      intermediary field_27348 Lnet/minecraft/class_287;field_27348:[Lnet/minecraft/class_1160;
      named sortingPrimitiveCenters Lnet/minecraft/client/render/BufferBuilder;sortingPrimitiveCenters:[Lnet/minecraft/util/math/Vec3f;
    • sortingCameraX

      private float sortingCameraX
      Mappings:
      Namespace Name Mixin selector
      official u Leal;u:F
      intermediary field_27349 Lnet/minecraft/class_287;field_27349:F
      named sortingCameraX Lnet/minecraft/client/render/BufferBuilder;sortingCameraX:F
    • sortingCameraY

      private float sortingCameraY
      Mappings:
      Namespace Name Mixin selector
      official v Leal;v:F
      intermediary field_27350 Lnet/minecraft/class_287;field_27350:F
      named sortingCameraY Lnet/minecraft/client/render/BufferBuilder;sortingCameraY:F
    • sortingCameraZ

      private float sortingCameraZ
      Mappings:
      Namespace Name Mixin selector
      official w Leal;w:F
      intermediary field_27351 Lnet/minecraft/class_287;field_27351:F
      named sortingCameraZ Lnet/minecraft/client/render/BufferBuilder;sortingCameraZ:F
    • hasNoVertexBuffer

      private boolean hasNoVertexBuffer
      Mappings:
      Namespace Name Mixin selector
      official x Leal;x:Z
      intermediary field_27352 Lnet/minecraft/class_287;field_27352:Z
      named hasNoVertexBuffer Lnet/minecraft/client/render/BufferBuilder;hasNoVertexBuffer:Z
  • Constructor Details

    • BufferBuilder

      public BufferBuilder(int initialCapacity)
      Mappings:
      Namespace Name Mixin selector
      official <init> Leal;<init>(I)V
      intermediary <init> Lnet/minecraft/class_287;<init>(I)V
      named <init> Lnet/minecraft/client/render/BufferBuilder;<init>(I)V
  • Method Details

    • grow

      private void grow()
      Mappings:
      Namespace Name Mixin selector
      official l Leal;l()V
      intermediary method_22892 Lnet/minecraft/class_287;method_22892()V
      named grow Lnet/minecraft/client/render/BufferBuilder;grow()V
    • grow

      private void grow(int size)
      Mappings:
      Namespace Name Mixin selector
      official d Leal;d(I)V
      intermediary method_1335 Lnet/minecraft/class_287;method_1335(I)V
      named grow Lnet/minecraft/client/render/BufferBuilder;grow(I)V
    • roundBufferSize

      private static int roundBufferSize(int amount)
      Mappings:
      Namespace Name Mixin selector
      official e Leal;e(I)I
      intermediary method_16005 Lnet/minecraft/class_287;method_16005(I)I
      named roundBufferSize Lnet/minecraft/client/render/BufferBuilder;roundBufferSize(I)I
    • sortFrom

      public void sortFrom(float cameraX, float cameraY, float cameraZ)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(FFF)V
      intermediary method_31948 Lnet/minecraft/class_287;method_31948(FFF)V
      named sortFrom Lnet/minecraft/client/render/BufferBuilder;sortFrom(FFF)V
    • popState

      public BufferBuilder.State popState()
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a()Leal$c;
      intermediary method_1334 Lnet/minecraft/class_287;method_1334()Lnet/minecraft/class_287$class_5594;
      named popState Lnet/minecraft/client/render/BufferBuilder;popState()Lnet/minecraft/client/render/BufferBuilder$State;
    • restoreState

      public void restoreState(BufferBuilder.State state)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(Leal$c;)V
      intermediary method_1324 Lnet/minecraft/class_287;method_1324(Lnet/minecraft/class_287$class_5594;)V
      named restoreState Lnet/minecraft/client/render/BufferBuilder;restoreState(Lnet/minecraft/client/render/BufferBuilder$State;)V
    • begin

      public void begin(VertexFormat.DrawMode drawMode, VertexFormat format)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(Leav$b;Leav;)V
      intermediary method_1328 Lnet/minecraft/class_287;method_1328(Lnet/minecraft/class_293$class_5596;Lnet/minecraft/class_293;)V
      named begin Lnet/minecraft/client/render/BufferBuilder;begin(Lnet/minecraft/client/render/VertexFormat$DrawMode;Lnet/minecraft/client/render/VertexFormat;)V
    • setFormat

      private void setFormat(VertexFormat format)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(Leav;)V
      intermediary method_23918 Lnet/minecraft/class_287;method_23918(Lnet/minecraft/class_293;)V
      named setFormat Lnet/minecraft/client/render/BufferBuilder;setFormat(Lnet/minecraft/client/render/VertexFormat;)V
    • createIndexWriter

      private IntConsumer createIndexWriter(int offset, VertexFormat.IndexType indexType)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(ILeav$a;)Lit/unimi/dsi/fastutil/ints/IntConsumer;
      intermediary method_31949 Lnet/minecraft/class_287;method_31949(ILnet/minecraft/class_293$class_5595;)Lit/unimi/dsi/fastutil/ints/IntConsumer;
      named createIndexWriter Lnet/minecraft/client/render/BufferBuilder;createIndexWriter(ILnet/minecraft/client/render/VertexFormat$IndexType;)Lit/unimi/dsi/fastutil/ints/IntConsumer;
    • buildPrimitiveCenters

      private Vec3f[] buildPrimitiveCenters()
      Mappings:
      Namespace Name Mixin selector
      official m Leal;m()[Lk;
      intermediary method_31954 Lnet/minecraft/class_287;method_31954()[Lnet/minecraft/class_1160;
      named buildPrimitiveCenters Lnet/minecraft/client/render/BufferBuilder;buildPrimitiveCenters()[Lnet/minecraft/util/math/Vec3f;
    • writeSortedIndices

      private void writeSortedIndices(VertexFormat.IndexType indexType)
      Mappings:
      Namespace Name Mixin selector
      official a Leal;a(Leav$a;)V
      intermediary method_31950 Lnet/minecraft/class_287;method_31950(Lnet/minecraft/class_293$class_5595;)V
      named writeSortedIndices Lnet/minecraft/client/render/BufferBuilder;writeSortedIndices(Lnet/minecraft/client/render/VertexFormat$IndexType;)V
    • isBatchEmpty

      public boolean isBatchEmpty()
      Mappings:
      Namespace Name Mixin selector
      official b Leal;b()Z
      intermediary method_43574 Lnet/minecraft/class_287;method_43574()Z
      named isBatchEmpty Lnet/minecraft/client/render/BufferBuilder;isBatchEmpty()Z
    • endNullable

      Builds a buffer if there are vertices in the current batch and resets the building state.
      Returns:
      the built buffer if there are vertices, otherwise null
      Throws:
      IllegalStateException - if this builder has not begun building
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Leal;c()Leal$b;
      intermediary method_43575 Lnet/minecraft/class_287;method_43575()Lnet/minecraft/class_287$class_7433;
      named endNullable Lnet/minecraft/client/render/BufferBuilder;endNullable()Lnet/minecraft/client/render/BufferBuilder$BuiltBuffer;
    • end

      Builds a buffer from the current batch and resets the building state.

      Unlike endNullable(), this always builds a buffer even if there are no vertices in the current batch.

      Returns:
      the buffer built from the current batch
      Throws:
      IllegalStateException - if this builder has not begun building
      Mappings:
      Namespace Name Mixin selector
      official d Leal;d()Leal$b;
      intermediary method_1326 Lnet/minecraft/class_287;method_1326()Lnet/minecraft/class_287$class_7433;
      named end Lnet/minecraft/client/render/BufferBuilder;end()Lnet/minecraft/client/render/BufferBuilder$BuiltBuffer;
    • ensureBuilding

      private void ensureBuilding()
      Mappings:
      Namespace Name Mixin selector
      official n Leal;n()V
      intermediary method_43577 Lnet/minecraft/class_287;method_43577()V
      named ensureBuilding Lnet/minecraft/client/render/BufferBuilder;ensureBuilding()V
    • build

      private BufferBuilder.BuiltBuffer build()
      Mappings:
      Namespace Name Mixin selector
      official o Leal;o()Leal$b;
      intermediary method_43578 Lnet/minecraft/class_287;method_43578()Lnet/minecraft/class_287$class_7433;
      named build Lnet/minecraft/client/render/BufferBuilder;build()Lnet/minecraft/client/render/BufferBuilder$BuiltBuffer;
    • resetBuilding

      private void resetBuilding()
      Mappings:
      Namespace Name Mixin selector
      official p Leal;p()V
      intermediary method_43579 Lnet/minecraft/class_287;method_43579()V
      named resetBuilding Lnet/minecraft/client/render/BufferBuilder;resetBuilding()V
    • putByte

      public void putByte(int index, byte value)
      Specified by:
      putByte in interface BufferVertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official a Lean;a(IB)V
      intermediary method_22896 Lnet/minecraft/class_4584;method_22896(IB)V
      named putByte Lnet/minecraft/client/render/BufferVertexConsumer;putByte(IB)V
    • putShort

      public void putShort(int index, short value)
      Specified by:
      putShort in interface BufferVertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official a Lean;a(IS)V
      intermediary method_22898 Lnet/minecraft/class_4584;method_22898(IS)V
      named putShort Lnet/minecraft/client/render/BufferVertexConsumer;putShort(IS)V
    • putFloat

      public void putFloat(int index, float value)
      Specified by:
      putFloat in interface BufferVertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official a Lean;a(IF)V
      intermediary method_22897 Lnet/minecraft/class_4584;method_22897(IF)V
      named putFloat Lnet/minecraft/client/render/BufferVertexConsumer;putFloat(IF)V
    • next

      public void next()
      Specified by:
      next in interface VertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official e Leau;e()V
      intermediary method_1344 Lnet/minecraft/class_4588;method_1344()V
      named next Lnet/minecraft/client/render/VertexConsumer;next()V
    • nextElement

      public void nextElement()
      Specified by:
      nextElement in interface BufferVertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official f Lean;f()V
      intermediary method_1325 Lnet/minecraft/class_4584;method_1325()V
      named nextElement Lnet/minecraft/client/render/BufferVertexConsumer;nextElement()V
    • color

      public VertexConsumer color(int red, int green, int blue, int alpha)
      Specified by:
      color in interface BufferVertexConsumer
      Specified by:
      color in interface VertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official a Leau;a(IIII)Leau;
      intermediary method_1336 Lnet/minecraft/class_4588;method_1336(IIII)Lnet/minecraft/class_4588;
      named color Lnet/minecraft/client/render/VertexConsumer;color(IIII)Lnet/minecraft/client/render/VertexConsumer;
    • vertex

      public void vertex(float x, float y, float z, float red, float green, float blue, float alpha, float u, float v, int overlay, int light, float normalX, float normalY, float normalZ)
      Specified by:
      vertex in interface VertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official a Leau;a(FFFFFFFFFIIFFF)V
      intermediary method_23919 Lnet/minecraft/class_4588;method_23919(FFFFFFFFFIIFFF)V
      named vertex Lnet/minecraft/client/render/VertexConsumer;vertex(FFFFFFFFFIIFFF)V
    • releaseBuiltBuffer

      void releaseBuiltBuffer()
      Mappings:
      Namespace Name Mixin selector
      official q Leal;q()V
      intermediary method_43580 Lnet/minecraft/class_287;method_43580()V
      named releaseBuiltBuffer Lnet/minecraft/client/render/BufferBuilder;releaseBuiltBuffer()V
    • clear

      public void clear()
      Mappings:
      Namespace Name Mixin selector
      official g Leal;g()V
      intermediary method_1343 Lnet/minecraft/class_287;method_1343()V
      named clear Lnet/minecraft/client/render/BufferBuilder;clear()V
    • reset

      public void reset()
      Mappings:
      Namespace Name Mixin selector
      official h Leal;h()V
      intermediary method_23477 Lnet/minecraft/class_287;method_23477()V
      named reset Lnet/minecraft/client/render/BufferBuilder;reset()V
    • getCurrentElement

      public VertexFormatElement getCurrentElement()
      Specified by:
      getCurrentElement in interface BufferVertexConsumer
      Mappings:
      Namespace Name Mixin selector
      official i Lean;i()Leaw;
      intermediary method_22900 Lnet/minecraft/class_4584;method_22900()Lnet/minecraft/class_296;
      named getCurrentElement Lnet/minecraft/client/render/BufferVertexConsumer;getCurrentElement()Lnet/minecraft/client/render/VertexFormatElement;
    • isBuilding

      public boolean isBuilding()
      Mappings:
      Namespace Name Mixin selector
      official j Leal;j()Z
      intermediary method_22893 Lnet/minecraft/class_287;method_22893()Z
      named isBuilding Lnet/minecraft/client/render/BufferBuilder;isBuilding()Z
    • slice

      ByteBuffer slice(int start, int end)
      Mappings:
      Namespace Name Mixin selector
      official c Leal;c(II)Ljava/nio/ByteBuffer;
      intermediary method_43576 Lnet/minecraft/class_287;method_43576(II)Ljava/nio/ByteBuffer;
      named slice Lnet/minecraft/client/render/BufferBuilder;slice(II)Ljava/nio/ByteBuffer;