Interface VertexConsumer

All Known Subinterfaces:
BufferVertexConsumer
All Known Implementing Classes:
BufferBuilder, FixedColorVertexConsumer, OutlineVertexConsumerProvider.OutlineVertexConsumer, OverlayVertexConsumer, SpriteTexturedVertexConsumer, VertexConsumers.Dual, VertexConsumers.Union

@Environment(CLIENT) public interface VertexConsumer
An interface that consumes vertices in a certain vertex format.

The vertex elements must be specified in the same order as defined in the format the vertices being consumed are in.

Mappings:
Namespace Name
official ehi
intermediary net/minecraft/class_4588
named net/minecraft/client/render/VertexConsumer
  • Method Details

    • vertex

      VertexConsumer vertex(double x, double y, double z)
      Specifies the position element of the current vertex.

      This is typically the first element in a vertex, hence the name.

      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a position element.
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(DDD)Lehi;
      intermediary method_22912 Lnet/minecraft/class_4588;method_22912(DDD)Lnet/minecraft/class_4588;
      named vertex Lnet/minecraft/client/render/VertexConsumer;vertex(DDD)Lnet/minecraft/client/render/VertexConsumer;
    • color

      VertexConsumer color(int red, int green, int blue, int alpha)
      Specifies the color element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a color element or if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(IIII)Lehi;
      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;
    • texture

      VertexConsumer texture(float u, float v)
      Specifies the texture element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a texture element.
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(FF)Lehi;
      intermediary method_22913 Lnet/minecraft/class_4588;method_22913(FF)Lnet/minecraft/class_4588;
      named texture Lnet/minecraft/client/render/VertexConsumer;texture(FF)Lnet/minecraft/client/render/VertexConsumer;
    • overlay

      VertexConsumer overlay(int u, int v)
      Specifies the overlay element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting an overlay element.
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(II)Lehi;
      intermediary method_22917 Lnet/minecraft/class_4588;method_22917(II)Lnet/minecraft/class_4588;
      named overlay Lnet/minecraft/client/render/VertexConsumer;overlay(II)Lnet/minecraft/client/render/VertexConsumer;
    • light

      VertexConsumer light(int u, int v)
      Specifies the light element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a light element.
      Mappings:
      Namespace Name Mixin selector
      official b Lehi;b(II)Lehi;
      intermediary method_22921 Lnet/minecraft/class_4588;method_22921(II)Lnet/minecraft/class_4588;
      named light Lnet/minecraft/client/render/VertexConsumer;light(II)Lnet/minecraft/client/render/VertexConsumer;
    • normal

      VertexConsumer normal(float x, float y, float z)
      Specifies the normal element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a normal element.
      Mappings:
      Namespace Name Mixin selector
      official b Lehi;b(FFF)Lehi;
      intermediary method_22914 Lnet/minecraft/class_4588;method_22914(FFF)Lnet/minecraft/class_4588;
      named normal Lnet/minecraft/client/render/VertexConsumer;normal(FFF)Lnet/minecraft/client/render/VertexConsumer;
    • next

      void next()
      Starts consuming the next vertex.

      This method must be called after specifying all elements in a vertex.

      Mappings:
      Namespace Name Mixin selector
      official e Lehi;e()V
      intermediary method_1344 Lnet/minecraft/class_4588;method_1344()V
      named next Lnet/minecraft/client/render/VertexConsumer;next()V
    • vertex

      default 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)
      Specifies the position, color, texture, overlay, light, and normal elements of the current vertex and starts consuming the next vertex.
      Throws:
      IllegalStateException - if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(FFFFFFFFFIIFFF)V
      intermediary method_23919 Lnet/minecraft/class_4588;method_23919(FFFFFFFFFIIFFF)V
      named vertex Lnet/minecraft/client/render/VertexConsumer;vertex(FFFFFFFFFIIFFF)V
    • fixedColor

      void fixedColor(int red, int green, int blue, int alpha)
      Makes this consumer always use the same color for subsequent vertices until unfixColor() is called.

      The color will be automatically supplied when the color element is requested. Make sure not to specify the color yourself when using this method.

      Mappings:
      Namespace Name Mixin selector
      official b Lehi;b(IIII)V
      intermediary method_22901 Lnet/minecraft/class_4588;method_22901(IIII)V
      named fixedColor Lnet/minecraft/client/render/VertexConsumer;fixedColor(IIII)V
    • unfixColor

      void unfixColor()
      Makes this consumer no longer use the color set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official k Lehi;k()V
      intermediary method_35666 Lnet/minecraft/class_4588;method_35666()V
      named unfixColor Lnet/minecraft/client/render/VertexConsumer;unfixColor()V
    • color

      default VertexConsumer color(float red, float green, float blue, float alpha)
      Specifies the color element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a color element or if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(FFFF)Lehi;
      intermediary method_22915 Lnet/minecraft/class_4588;method_22915(FFFF)Lnet/minecraft/class_4588;
      named color Lnet/minecraft/client/render/VertexConsumer;color(FFFF)Lnet/minecraft/client/render/VertexConsumer;
    • color

      default VertexConsumer color(int argb)
      Specifies the color element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a color element or if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(I)Lehi;
      intermediary method_39415 Lnet/minecraft/class_4588;method_39415(I)Lnet/minecraft/class_4588;
      named color Lnet/minecraft/client/render/VertexConsumer;color(I)Lnet/minecraft/client/render/VertexConsumer;
    • light

      default VertexConsumer light(int uv)
      Specifies the light element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a light element.
      Mappings:
      Namespace Name Mixin selector
      official b Lehi;b(I)Lehi;
      intermediary method_22916 Lnet/minecraft/class_4588;method_22916(I)Lnet/minecraft/class_4588;
      named light Lnet/minecraft/client/render/VertexConsumer;light(I)Lnet/minecraft/client/render/VertexConsumer;
    • overlay

      default VertexConsumer overlay(int uv)
      Specifies the overlay element of the current vertex.
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting an overlay element.
      Mappings:
      Namespace Name Mixin selector
      official c Lehi;c(I)Lehi;
      intermediary method_22922 Lnet/minecraft/class_4588;method_22922(I)Lnet/minecraft/class_4588;
      named overlay Lnet/minecraft/client/render/VertexConsumer;overlay(I)Lnet/minecraft/client/render/VertexConsumer;
    • quad

      default void quad(MatrixStack.Entry matrixEntry, BakedQuad quad, float red, float green, float blue, int light, int overlay)
      Specifies the vertex elements from quad and starts consuming the next vertex.
      Throws:
      IllegalStateException - if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(Lehe$a;Lfja;FFFII)V
      intermediary method_22919 Lnet/minecraft/class_4588;method_22919(Lnet/minecraft/class_4587$class_4665;Lnet/minecraft/class_777;FFFII)V
      named quad Lnet/minecraft/client/render/VertexConsumer;quad(Lnet/minecraft/client/util/math/MatrixStack$Entry;Lnet/minecraft/client/render/model/BakedQuad;FFFII)V
    • quad

      default void quad(MatrixStack.Entry matrixEntry, BakedQuad quad, float[] brightnesses, float red, float green, float blue, int[] lights, int overlay, boolean useQuadColorData)
      Specifies the vertex elements from quad and starts consuming the next vertex.
      Throws:
      IllegalStateException - if a color has been set in fixedColor(int, int, int, int).
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(Lehe$a;Lfja;[FFFF[IIZ)V
      intermediary method_22920 Lnet/minecraft/class_4588;method_22920(Lnet/minecraft/class_4587$class_4665;Lnet/minecraft/class_777;[FFFF[IIZ)V
      named quad Lnet/minecraft/client/render/VertexConsumer;quad(Lnet/minecraft/client/util/math/MatrixStack$Entry;Lnet/minecraft/client/render/model/BakedQuad;[FFFF[IIZ)V
    • vertex

      default VertexConsumer vertex(Matrix4f matrix, float x, float y, float z)
      Specifies the position element of the current vertex.
      Parameters:
      matrix - the matrix that will be applied to the vertex position, typically MatrixStack.Entry#getPositionMatrix
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a position element.
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(Lorg/joml/Matrix4f;FFF)Lehi;
      intermediary method_22918 Lnet/minecraft/class_4588;method_22918(Lorg/joml/Matrix4f;FFF)Lnet/minecraft/class_4588;
      named vertex Lnet/minecraft/client/render/VertexConsumer;vertex(Lorg/joml/Matrix4f;FFF)Lnet/minecraft/client/render/VertexConsumer;
    • normal

      default VertexConsumer normal(Matrix3f matrix, float x, float y, float z)
      Specifies the normal element of the current vertex.
      Parameters:
      matrix - the matrix that will be applied to the normal vector, typically MatrixStack.Entry#getNormalMatrix
      Returns:
      this consumer, for chaining
      Throws:
      IllegalStateException - if this consumer is not currently accepting a normal element.
      Mappings:
      Namespace Name Mixin selector
      official a Lehi;a(Lorg/joml/Matrix3f;FFF)Lehi;
      intermediary method_23763 Lnet/minecraft/class_4588;method_23763(Lorg/joml/Matrix3f;FFF)Lnet/minecraft/class_4588;
      named normal Lnet/minecraft/client/render/VertexConsumer;normal(Lorg/joml/Matrix3f;FFF)Lnet/minecraft/client/render/VertexConsumer;