Package net.minecraft.client.render
Class BufferBuilder
java.lang.Object
net.minecraft.client.render.FixedColorVertexConsumer
net.minecraft.client.render.BufferBuilder
- All Implemented Interfaces:
BufferVertexConsumer,VertexConsumer
@Environment(CLIENT)
public class BufferBuilder
extends FixedColorVertexConsumer
implements BufferVertexConsumer
- Mappings:
Namespace Name official dzointermediary net/minecraft/class_287named net/minecraft/client/render/BufferBuilder
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassA pair of a vertex buffer and an index buffer ready to be uploaded.static final recordstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate ByteBufferprivate booleanprivate intprivate @Nullable VertexFormatElementprivate intprivate VertexFormat.DrawModeprivate intprivate VertexFormatprivate booleanprivate booleanprivate static final org.slf4j.Loggerprivate static final intprivate floatprivate floatprivate floatprivate booleanprivate intFields inherited from class net.minecraft.client.render.FixedColorVertexConsumer
colorFixed, fixedAlpha, fixedBlue, fixedGreen, fixedRed -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbegin(VertexFormat.DrawMode drawMode, VertexFormat format) private BufferBuilder.BuiltBufferbuild()private Vec3f[]voidclear()color(int red, int green, int blue, int alpha) private IntConsumercreateIndexWriter(int offset, VertexFormat.IndexType indexType) end()Builds a buffer from the current batch and resets the building state.Builds a buffer if there are vertices in the current batch and resets the building state.private voidprivate voidgrow()private voidgrow(int size) booleanbooleanvoidnext()voidpopState()voidputByte(int index, byte value) voidputFloat(int index, float value) voidputShort(int index, short value) (package private) voidvoidreset()private voidvoidrestoreState(BufferBuilder.State state) private static introundBufferSize(int amount) private voidsetFormat(VertexFormat format) (package private) ByteBufferslice(int start, int end) voidsortFrom(float cameraX, float cameraY, float cameraZ) voidvertex(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) private voidwriteSortedIndices(VertexFormat.IndexType indexType) Methods inherited from class net.minecraft.client.render.FixedColorVertexConsumer
fixedColor, unfixColorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.client.render.BufferVertexConsumer
light, normal, overlay, texture, texture, vertexMethods inherited from interface net.minecraft.client.render.VertexConsumer
color, color, fixedColor, light, normal, overlay, quad, quad, unfixColor, vertex
-
Field Details
-
MAX_BUFFER_SIZE
private static final int MAX_BUFFER_SIZE- See Also:
- Mappings:
Namespace Name Mixin selector official fLdzo;f:Iintermediary field_32050Lnet/minecraft/class_287;field_32050:Inamed MAX_BUFFER_SIZELnet/minecraft/client/render/BufferBuilder;MAX_BUFFER_SIZE:I
-
LOGGER
private static final org.slf4j.Logger LOGGER- Mappings:
Namespace Name Mixin selector official gLdzo;g:Lorg/slf4j/Logger;intermediary field_1557Lnet/minecraft/class_287;field_1557:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/client/render/BufferBuilder;LOGGER:Lorg/slf4j/Logger;
-
buffer
- Mappings:
Namespace Name Mixin selector official hLdzo;h:Ljava/nio/ByteBuffer;intermediary field_1555Lnet/minecraft/class_287;field_1555:Ljava/nio/ByteBuffer;named bufferLnet/minecraft/client/render/BufferBuilder;buffer:Ljava/nio/ByteBuffer;
-
builtBufferCount
private int builtBufferCount- Mappings:
Namespace Name Mixin selector official iLdzo;i:Iintermediary field_39061Lnet/minecraft/class_287;field_39061:Inamed builtBufferCountLnet/minecraft/client/render/BufferBuilder;builtBufferCount:I
-
batchOffset
private int batchOffset- Mappings:
Namespace Name Mixin selector official jLdzo;j:Iintermediary field_39062Lnet/minecraft/class_287;field_39062:Inamed batchOffsetLnet/minecraft/client/render/BufferBuilder;batchOffset:I
-
elementOffset
private int elementOffset- Mappings:
Namespace Name Mixin selector official kLdzo;k:Iintermediary field_20884Lnet/minecraft/class_287;field_20884:Inamed elementOffsetLnet/minecraft/client/render/BufferBuilder;elementOffset:I
-
vertexCount
private int vertexCount- Mappings:
Namespace Name Mixin selector official lLdzo;l:Iintermediary field_1554Lnet/minecraft/class_287;field_1554:Inamed vertexCountLnet/minecraft/client/render/BufferBuilder;vertexCount:I
-
currentElement
- Mappings:
Namespace Name Mixin selector official mLdzo;m:Ldzz;intermediary field_1558Lnet/minecraft/class_287;field_1558:Lnet/minecraft/class_296;named currentElementLnet/minecraft/client/render/BufferBuilder;currentElement:Lnet/minecraft/client/render/VertexFormatElement;
-
currentElementId
private int currentElementId- Mappings:
Namespace Name Mixin selector official nLdzo;n:Iintermediary field_1553Lnet/minecraft/class_287;field_1553:Inamed currentElementIdLnet/minecraft/client/render/BufferBuilder;currentElementId:I
-
format
- Mappings:
Namespace Name Mixin selector official oLdzo;o:Ldzy;intermediary field_1565Lnet/minecraft/class_287;field_1565:Lnet/minecraft/class_293;named formatLnet/minecraft/client/render/BufferBuilder;format:Lnet/minecraft/client/render/VertexFormat;
-
drawMode
- Mappings:
Namespace Name Mixin selector official pLdzo;p:Ldzy$b;intermediary field_1567Lnet/minecraft/class_287;field_1567:Lnet/minecraft/class_293$class_5596;named drawModeLnet/minecraft/client/render/BufferBuilder;drawMode:Lnet/minecraft/client/render/VertexFormat$DrawMode;
-
textured
private boolean textured- Mappings:
Namespace Name Mixin selector official qLdzo;q:Zintermediary field_21594Lnet/minecraft/class_287;field_21594:Znamed texturedLnet/minecraft/client/render/BufferBuilder;textured:Z
-
hasOverlay
private boolean hasOverlay- Mappings:
Namespace Name Mixin selector official rLdzo;r:Zintermediary field_21595Lnet/minecraft/class_287;field_21595:Znamed hasOverlayLnet/minecraft/client/render/BufferBuilder;hasOverlay:Z
-
building
private boolean building- Mappings:
Namespace Name Mixin selector official sLdzo;s:Zintermediary field_1556Lnet/minecraft/class_287;field_1556:Znamed buildingLnet/minecraft/client/render/BufferBuilder;building:Z
-
sortingPrimitiveCenters
- Mappings:
Namespace Name Mixin selector official tLdzo;t:[Lk;intermediary field_27348Lnet/minecraft/class_287;field_27348:[Lnet/minecraft/class_1160;named sortingPrimitiveCentersLnet/minecraft/client/render/BufferBuilder;sortingPrimitiveCenters:[Lnet/minecraft/util/math/Vec3f;
-
sortingCameraX
private float sortingCameraX- Mappings:
Namespace Name Mixin selector official uLdzo;u:Fintermediary field_27349Lnet/minecraft/class_287;field_27349:Fnamed sortingCameraXLnet/minecraft/client/render/BufferBuilder;sortingCameraX:F
-
sortingCameraY
private float sortingCameraY- Mappings:
Namespace Name Mixin selector official vLdzo;v:Fintermediary field_27350Lnet/minecraft/class_287;field_27350:Fnamed sortingCameraYLnet/minecraft/client/render/BufferBuilder;sortingCameraY:F
-
sortingCameraZ
private float sortingCameraZ- Mappings:
Namespace Name Mixin selector official wLdzo;w:Fintermediary field_27351Lnet/minecraft/class_287;field_27351:Fnamed sortingCameraZLnet/minecraft/client/render/BufferBuilder;sortingCameraZ:F
-
hasNoVertexBuffer
private boolean hasNoVertexBuffer- Mappings:
Namespace Name Mixin selector official xLdzo;x:Zintermediary field_27352Lnet/minecraft/class_287;field_27352:Znamed hasNoVertexBufferLnet/minecraft/client/render/BufferBuilder;hasNoVertexBuffer:Z
-
-
Constructor Details
-
BufferBuilder
public BufferBuilder(int initialCapacity) - Mappings:
Namespace Name Mixin selector official <init>Ldzo;<init>(I)Vintermediary <init>Lnet/minecraft/class_287;<init>(I)Vnamed <init>Lnet/minecraft/client/render/BufferBuilder;<init>(I)V
-
-
Method Details
-
grow
private void grow()- Mappings:
Namespace Name Mixin selector official lLdzo;l()Vintermediary method_22892Lnet/minecraft/class_287;method_22892()Vnamed growLnet/minecraft/client/render/BufferBuilder;grow()V
-
grow
private void grow(int size) - Mappings:
Namespace Name Mixin selector official dLdzo;d(I)Vintermediary method_1335Lnet/minecraft/class_287;method_1335(I)Vnamed growLnet/minecraft/client/render/BufferBuilder;grow(I)V
-
roundBufferSize
private static int roundBufferSize(int amount) - Mappings:
Namespace Name Mixin selector official eLdzo;e(I)Iintermediary method_16005Lnet/minecraft/class_287;method_16005(I)Inamed roundBufferSizeLnet/minecraft/client/render/BufferBuilder;roundBufferSize(I)I
-
sortFrom
public void sortFrom(float cameraX, float cameraY, float cameraZ) - Mappings:
Namespace Name Mixin selector official aLdzo;a(FFF)Vintermediary method_31948Lnet/minecraft/class_287;method_31948(FFF)Vnamed sortFromLnet/minecraft/client/render/BufferBuilder;sortFrom(FFF)V
-
popState
- Mappings:
Namespace Name Mixin selector official aLdzo;a()Ldzo$c;intermediary method_1334Lnet/minecraft/class_287;method_1334()Lnet/minecraft/class_287$class_5594;named popStateLnet/minecraft/client/render/BufferBuilder;popState()Lnet/minecraft/client/render/BufferBuilder$State;
-
restoreState
- Mappings:
Namespace Name Mixin selector official aLdzo;a(Ldzo$c;)Vintermediary method_1324Lnet/minecraft/class_287;method_1324(Lnet/minecraft/class_287$class_5594;)Vnamed restoreStateLnet/minecraft/client/render/BufferBuilder;restoreState(Lnet/minecraft/client/render/BufferBuilder$State;)V
-
begin
- Mappings:
Namespace Name Mixin selector official aLdzo;a(Ldzy$b;Ldzy;)Vintermediary method_1328Lnet/minecraft/class_287;method_1328(Lnet/minecraft/class_293$class_5596;Lnet/minecraft/class_293;)Vnamed beginLnet/minecraft/client/render/BufferBuilder;begin(Lnet/minecraft/client/render/VertexFormat$DrawMode;Lnet/minecraft/client/render/VertexFormat;)V
-
setFormat
- Mappings:
Namespace Name Mixin selector official aLdzo;a(Ldzy;)Vintermediary method_23918Lnet/minecraft/class_287;method_23918(Lnet/minecraft/class_293;)Vnamed setFormatLnet/minecraft/client/render/BufferBuilder;setFormat(Lnet/minecraft/client/render/VertexFormat;)V
-
createIndexWriter
- Mappings:
Namespace Name Mixin selector official aLdzo;a(ILdzy$a;)Lit/unimi/dsi/fastutil/ints/IntConsumer;intermediary method_31949Lnet/minecraft/class_287;method_31949(ILnet/minecraft/class_293$class_5595;)Lit/unimi/dsi/fastutil/ints/IntConsumer;named createIndexWriterLnet/minecraft/client/render/BufferBuilder;createIndexWriter(ILnet/minecraft/client/render/VertexFormat$IndexType;)Lit/unimi/dsi/fastutil/ints/IntConsumer;
-
buildPrimitiveCenters
- Mappings:
Namespace Name Mixin selector official mLdzo;m()[Lk;intermediary method_31954Lnet/minecraft/class_287;method_31954()[Lnet/minecraft/class_1160;named buildPrimitiveCentersLnet/minecraft/client/render/BufferBuilder;buildPrimitiveCenters()[Lnet/minecraft/util/math/Vec3f;
-
writeSortedIndices
- Mappings:
Namespace Name Mixin selector official aLdzo;a(Ldzy$a;)Vintermediary method_31950Lnet/minecraft/class_287;method_31950(Lnet/minecraft/class_293$class_5595;)Vnamed writeSortedIndicesLnet/minecraft/client/render/BufferBuilder;writeSortedIndices(Lnet/minecraft/client/render/VertexFormat$IndexType;)V
-
isBatchEmpty
public boolean isBatchEmpty()- Mappings:
Namespace Name Mixin selector official bLdzo;b()Zintermediary method_43574Lnet/minecraft/class_287;method_43574()Znamed isBatchEmptyLnet/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 cLdzo;c()Ldzo$b;intermediary method_43575Lnet/minecraft/class_287;method_43575()Lnet/minecraft/class_287$class_7433;named endNullableLnet/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 dLdzo;d()Ldzo$b;intermediary method_1326Lnet/minecraft/class_287;method_1326()Lnet/minecraft/class_287$class_7433;named endLnet/minecraft/client/render/BufferBuilder;end()Lnet/minecraft/client/render/BufferBuilder$BuiltBuffer;
-
ensureBuilding
private void ensureBuilding()- Mappings:
Namespace Name Mixin selector official nLdzo;n()Vintermediary method_43577Lnet/minecraft/class_287;method_43577()Vnamed ensureBuildingLnet/minecraft/client/render/BufferBuilder;ensureBuilding()V
-
build
- Mappings:
Namespace Name Mixin selector official oLdzo;o()Ldzo$b;intermediary method_43578Lnet/minecraft/class_287;method_43578()Lnet/minecraft/class_287$class_7433;named buildLnet/minecraft/client/render/BufferBuilder;build()Lnet/minecraft/client/render/BufferBuilder$BuiltBuffer;
-
resetBuilding
private void resetBuilding()- Mappings:
Namespace Name Mixin selector official pLdzo;p()Vintermediary method_43579Lnet/minecraft/class_287;method_43579()Vnamed resetBuildingLnet/minecraft/client/render/BufferBuilder;resetBuilding()V
-
putByte
public void putByte(int index, byte value) - Specified by:
putBytein interfaceBufferVertexConsumer- Mappings:
Namespace Name Mixin selector official aLdzq;a(IB)Vintermediary method_22896Lnet/minecraft/class_4584;method_22896(IB)Vnamed putByteLnet/minecraft/client/render/BufferVertexConsumer;putByte(IB)V
-
putShort
public void putShort(int index, short value) - Specified by:
putShortin interfaceBufferVertexConsumer- Mappings:
Namespace Name Mixin selector official aLdzq;a(IS)Vintermediary method_22898Lnet/minecraft/class_4584;method_22898(IS)Vnamed putShortLnet/minecraft/client/render/BufferVertexConsumer;putShort(IS)V
-
putFloat
public void putFloat(int index, float value) - Specified by:
putFloatin interfaceBufferVertexConsumer- Mappings:
Namespace Name Mixin selector official aLdzq;a(IF)Vintermediary method_22897Lnet/minecraft/class_4584;method_22897(IF)Vnamed putFloatLnet/minecraft/client/render/BufferVertexConsumer;putFloat(IF)V
-
next
public void next()- Specified by:
nextin interfaceVertexConsumer- Mappings:
Namespace Name Mixin selector official eLdzx;e()Vintermediary method_1344Lnet/minecraft/class_4588;method_1344()Vnamed nextLnet/minecraft/client/render/VertexConsumer;next()V
-
nextElement
public void nextElement()- Specified by:
nextElementin interfaceBufferVertexConsumer- Mappings:
Namespace Name Mixin selector official fLdzq;f()Vintermediary method_1325Lnet/minecraft/class_4584;method_1325()Vnamed nextElementLnet/minecraft/client/render/BufferVertexConsumer;nextElement()V
-
color
- Specified by:
colorin interfaceBufferVertexConsumer- Specified by:
colorin interfaceVertexConsumer- Mappings:
Namespace Name Mixin selector official aLdzx;a(IIII)Ldzx;intermediary method_1336Lnet/minecraft/class_4588;method_1336(IIII)Lnet/minecraft/class_4588;named colorLnet/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:
vertexin interfaceVertexConsumer- Mappings:
Namespace Name Mixin selector official aLdzx;a(FFFFFFFFFIIFFF)Vintermediary method_23919Lnet/minecraft/class_4588;method_23919(FFFFFFFFFIIFFF)Vnamed vertexLnet/minecraft/client/render/VertexConsumer;vertex(FFFFFFFFFIIFFF)V
-
releaseBuiltBuffer
void releaseBuiltBuffer()- Mappings:
Namespace Name Mixin selector official qLdzo;q()Vintermediary method_43580Lnet/minecraft/class_287;method_43580()Vnamed releaseBuiltBufferLnet/minecraft/client/render/BufferBuilder;releaseBuiltBuffer()V
-
clear
public void clear()- Mappings:
Namespace Name Mixin selector official gLdzo;g()Vintermediary method_1343Lnet/minecraft/class_287;method_1343()Vnamed clearLnet/minecraft/client/render/BufferBuilder;clear()V
-
reset
public void reset()- Mappings:
Namespace Name Mixin selector official hLdzo;h()Vintermediary method_23477Lnet/minecraft/class_287;method_23477()Vnamed resetLnet/minecraft/client/render/BufferBuilder;reset()V
-
getCurrentElement
- Specified by:
getCurrentElementin interfaceBufferVertexConsumer- Mappings:
Namespace Name Mixin selector official iLdzq;i()Ldzz;intermediary method_22900Lnet/minecraft/class_4584;method_22900()Lnet/minecraft/class_296;named getCurrentElementLnet/minecraft/client/render/BufferVertexConsumer;getCurrentElement()Lnet/minecraft/client/render/VertexFormatElement;
-
isBuilding
public boolean isBuilding()- Mappings:
Namespace Name Mixin selector official jLdzo;j()Zintermediary method_22893Lnet/minecraft/class_287;method_22893()Znamed isBuildingLnet/minecraft/client/render/BufferBuilder;isBuilding()Z
-
slice
- Mappings:
Namespace Name Mixin selector official cLdzo;c(II)Ljava/nio/ByteBuffer;intermediary method_43576Lnet/minecraft/class_287;method_43576(II)Ljava/nio/ByteBuffer;named sliceLnet/minecraft/client/render/BufferBuilder;slice(II)Ljava/nio/ByteBuffer;
-