Class WorldDrawer

java.lang.Object
dev.boze.api.render.WorldDrawer

public class WorldDrawer extends Object
World rendering API for drawing 3D boxes in the world
Provides methods for rendering boxes in 3D world space
All drawing operations must be wrapped between start() and draw(PoseStack, RenderTarget) calls
You can, of course, draw more than one box per start/draw call
See EventShader before using shader renders
Shader renders have their own fill/outline opacity, defined in Shader module. Outline opacity is used as a scale factor for the shader fill/outline opacity. This lets you change the opacity of individual shader renders
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    box(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a full box with both sides and outline using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    box(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a full box with both sides and outline using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    box(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
    Renders a full box with both sides and outline using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    box(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
    Renders a full box with both sides and outline using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    box(ClientColor color, float fillOpacity, float outlineOpacity, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a full box with both sides and outline
    Throws RuntimeException if start() was not called first
    static void
    box(ClientColor color, float fillOpacity, float outlineOpacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a full box with both sides and outline
    Throws RuntimeException if start() was not called first
    static void
    box(ClientColor color, float fillOpacity, float outlineOpacity, net.minecraft.world.phys.AABB box)
    Renders a full box with both sides and outline
    Throws RuntimeException if start() was not called first
    static void
    box(ClientColor color, float fillOpacity, float outlineOpacity, net.minecraft.world.phys.AABB box, float fade)
    Renders a full box with both sides and outline
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box outline lines using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box outline lines using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
    Renders box outline lines using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
    Renders box outline lines using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box outline lines
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box outline lines
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
    Renders box outline lines
    Throws RuntimeException if start() was not called first
    static void
    boxLines(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
    Renders box outline lines
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides/faces using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides/faces using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
    Renders box sides/faces using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides/faces using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides/faces
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides/faces
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
    Renders box sides/faces
    Throws RuntimeException if start() was not called first
    static void
    boxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides/faces
    Throws RuntimeException if start() was not called first
    static void
    draw(com.mojang.blaze3d.vertex.PoseStack matrices)
    Renders the current drawing session to the main vanilla framebuffer
    Must be called after non-shader drawing operations.
    static void
    draw(com.mojang.blaze3d.vertex.PoseStack matrices, com.mojang.blaze3d.pipeline.RenderTarget framebuffer)
    Renders the current drawing session to the specified framebuffer
    Must be called after non-shader drawing operations.
    static void
    dynamicBox(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a full box dynamically based on shader setting using ColorOption.Value
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a full box dynamically based on shader setting using ColorOption.Value
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box)
    Renders a full box dynamically based on shader setting using ColorOption.Value
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
    Renders a full box dynamically based on shader setting using ColorOption.Value
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a full box dynamically based on shader setting
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a full box dynamically based on shader setting
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, net.minecraft.world.phys.AABB box)
    Renders a full box dynamically based on shader setting
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
    Renders a full box dynamically based on shader setting
    If useShader is true, renders only sides using shader (no lines).
    static void
    dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides dynamically based on shader setting using ColorOption.Value
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides dynamically based on shader setting using ColorOption.Value
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box)
    Renders box sides dynamically based on shader setting using ColorOption.Value
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides dynamically based on shader setting using ColorOption.Value
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ClientColor color, float opacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides dynamically based on shader setting
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ClientColor color, float opacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides dynamically based on shader setting
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ClientColor color, float opacity, boolean useShader, net.minecraft.world.phys.AABB box)
    Renders box sides dynamically based on shader setting
    If useShader is true, uses shader rendering.
    static void
    dynamicBoxSides(ClientColor color, float opacity, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides dynamically based on shader setting
    If useShader is true, uses shader rendering.
    static void
    dynamicSide(ColorOption.Value colorOption, boolean useShader, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face dynamically based on shader setting using ColorOption.Value
    If useShader is true, uses shader rendering.
    static void
    dynamicSide(ClientColor color, float opacity, boolean useShader, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face dynamically based on shader setting
    If useShader is true, uses shader rendering.
    static void
    line(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
    Draws a 3D line using a ColorOption.Value (uses its outline opacity).
    static void
    line(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3 from, net.minecraft.world.phys.Vec3 to)
    Draws a 3D line using a ColorOption.Value (uses its outline opacity).
    static void
    line(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
    Draws a single 3D line between two points.
    static void
    line(ClientColor color, float opacity, net.minecraft.world.phys.Vec3 from, net.minecraft.world.phys.Vec3 to)
    Draws a single 3D line between two points.
    static void
    polygon(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3... points)
    Draws a filled convex polygon using a ColorOption.Value (uses its fill opacity).
    static void
    polygon(ClientColor color, float opacity, net.minecraft.world.phys.Vec3... points)
    Draws a filled convex polygon from a list of points, as a fan of triangles around the first point.
    static void
    shaderBoxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides/faces using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderBoxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides/faces using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderBoxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
    Renders box sides/faces using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderBoxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides/faces using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderBoxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders box sides/faces using shader
    Does not require start/draw calls
    static void
    shaderBoxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders box sides/faces using shader
    Does not require start/draw calls
    static void
    shaderBoxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
    Renders box sides/faces using shader
    Does not require start/draw calls
    static void
    shaderBoxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
    Renders box sides/faces using shader
    Does not require start/draw calls
    static void
    shaderSide(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderSide(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a single box side/face using shader with ColorOption.Value
    Does not require start/draw calls.
    static void
    shaderSide(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face using shader
    Does not require start/draw calls
    static void
    shaderSide(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
    Renders a single box side/face using shader
    Does not require start/draw calls
    static void
    side(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face using ColorOption.Value
    Throws RuntimeException if start() was not called first
    static void
    side(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
    Renders a single box side/face
    Throws RuntimeException if start() was not called first
    static void
    Starts a new world rendering session
    Must be called before any non-shader drawing operations.
    static void
    triangle(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
    Draws a filled triangle using a ColorOption.Value (uses its fill opacity).
    static void
    triangle(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3 a, net.minecraft.world.phys.Vec3 b, net.minecraft.world.phys.Vec3 c)
    Draws a filled triangle using a ColorOption.Value (uses its fill opacity).
    static void
    triangle(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
    Draws a single filled 3D triangle from three points.
    static void
    triangle(ClientColor color, float opacity, net.minecraft.world.phys.Vec3 a, net.minecraft.world.phys.Vec3 b, net.minecraft.world.phys.Vec3 c)
    Draws a single filled 3D triangle from three points.

    Methods inherited from class Object

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

    • WorldDrawer

      public WorldDrawer()
  • Method Details

    • start

      public static void start()
      Starts a new world rendering session
      Must be called before any non-shader drawing operations. Shader methods (shaderBoxSides, shaderSide, and dynamic methods when useShader=true) do not require start/draw. Throws RuntimeException if already started
    • draw

      public static void draw(com.mojang.blaze3d.vertex.PoseStack matrices)
      Renders the current drawing session to the main vanilla framebuffer
      Must be called after non-shader drawing operations. Shader methods (shaderBoxSides, shaderSide, and dynamic methods when useShader=true) do not require start/draw. Throws RuntimeException if start() was not called first
      Parameters:
      matrices - The matrix stack for rendering
    • draw

      public static void draw(com.mojang.blaze3d.vertex.PoseStack matrices, com.mojang.blaze3d.pipeline.RenderTarget framebuffer)
      Renders the current drawing session to the specified framebuffer
      Must be called after non-shader drawing operations. Shader methods (shaderBoxSides, shaderSide, and dynamic methods when useShader=true) do not require start/draw. Throws RuntimeException if start() was not called first
      Parameters:
      matrices - The matrix stack for rendering
      framebuffer - The framebuffer to render to
    • box

      public static void box(ClientColor color, float fillOpacity, float outlineOpacity, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a full box with both sides and outline
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • box

      public static void box(ClientColor color, float fillOpacity, float outlineOpacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a full box with both sides and outline
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • box

      public static void box(ClientColor color, float fillOpacity, float outlineOpacity, net.minecraft.world.phys.AABB box)
      Renders a full box with both sides and outline
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines
      box - The box to render
    • box

      public static void box(ClientColor color, float fillOpacity, float outlineOpacity, net.minecraft.world.phys.AABB box, float fade)
      Renders a full box with both sides and outline
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines
      box - The box to render
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxLines

      public static void boxLines(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box outline lines
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • boxLines

      public static void boxLines(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box outline lines
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxLines

      public static void boxLines(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
      Renders box outline lines
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      box - The box to render lines for
    • boxLines

      public static void boxLines(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
      Renders box outline lines
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      box - The box to render lines for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxSides

      public static void boxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides/faces
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • boxSides

      public static void boxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides/faces
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxSides

      public static void boxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
      Renders box sides/faces
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      box - The box to render sides for
    • boxSides

      public static void boxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides/faces
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • side

      public static void side(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face
      Throws RuntimeException if start() was not called first
      Parameters:
      color - The color to use
      opacity - The opacity value
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • box

      public static void box(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a full box with both sides and outline using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • box

      public static void box(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a full box with both sides and outline using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • box

      public static void box(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
      Renders a full box with both sides and outline using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render
    • box

      public static void box(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
      Renders a full box with both sides and outline using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxLines

      public static void boxLines(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box outline lines using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • boxLines

      public static void boxLines(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box outline lines using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxLines

      public static void boxLines(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
      Renders box outline lines using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render lines for
    • boxLines

      public static void boxLines(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
      Renders box outline lines using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render lines for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxSides

      public static void boxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides/faces using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • boxSides

      public static void boxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides/faces using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • boxSides

      public static void boxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
      Renders box sides/faces using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render sides for
    • boxSides

      public static void boxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides/faces using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • side

      public static void side(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face using ColorOption.Value
      Throws RuntimeException if start() was not called first
      Parameters:
      colorOption - The color option value containing color and opacity settings
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • shaderBoxSides

      public static void shaderBoxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides/faces using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • shaderBoxSides

      public static void shaderBoxSides(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides/faces using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • shaderBoxSides

      public static void shaderBoxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box)
      Renders box sides/faces using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      box - The box to render sides for
    • shaderBoxSides

      public static void shaderBoxSides(ClientColor color, float opacity, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides/faces using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • shaderSide

      public static void shaderSide(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • shaderSide

      public static void shaderSide(ClientColor color, float opacity, byte direction, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a single box side/face using shader
      Does not require start/draw calls
      Parameters:
      color - The color to use
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • shaderBoxSides

      public static void shaderBoxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides/faces using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • shaderBoxSides

      public static void shaderBoxSides(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides/faces using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • shaderBoxSides

      public static void shaderBoxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box)
      Renders box sides/faces using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      box - The box to render sides for
    • shaderBoxSides

      public static void shaderBoxSides(ColorOption.Value colorOption, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides/faces using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • shaderSide

      public static void shaderSide(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • shaderSide

      public static void shaderSide(ColorOption.Value colorOption, byte direction, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a single box side/face using shader with ColorOption.Value
      Does not require start/draw calls. Uses outline opacity for shader rendering
      Parameters:
      colorOption - The color option value containing color settings
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBox

      public static void dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a full box dynamically based on shader setting
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines (used as factor for both if useShader is true)
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • dynamicBox

      public static void dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a full box dynamically based on shader setting
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines (used as factor for both if useShader is true)
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBox

      public static void dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, net.minecraft.world.phys.AABB box)
      Renders a full box dynamically based on shader setting
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines (used as factor for both if useShader is true)
      useShader - Whether to use shader rendering
      box - The box to render
    • dynamicBox

      public static void dynamicBox(ClientColor color, float fillOpacity, float outlineOpacity, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
      Renders a full box dynamically based on shader setting
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      fillOpacity - The opacity for filled sides
      outlineOpacity - The opacity for outline lines (used as factor for both if useShader is true)
      useShader - Whether to use shader rendering
      box - The box to render
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBoxSides

      public static void dynamicBoxSides(ClientColor color, float opacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides dynamically based on shader setting
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      opacity - The opacity value
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • dynamicBoxSides

      public static void dynamicBoxSides(ClientColor color, float opacity, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides dynamically based on shader setting
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      opacity - The opacity value
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBoxSides

      public static void dynamicBoxSides(ClientColor color, float opacity, boolean useShader, net.minecraft.world.phys.AABB box)
      Renders box sides dynamically based on shader setting
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      opacity - The opacity value
      useShader - Whether to use shader rendering
      box - The box to render sides for
    • dynamicBoxSides

      public static void dynamicBoxSides(ClientColor color, float opacity, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides dynamically based on shader setting
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      opacity - The opacity value
      useShader - Whether to use shader rendering
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBox

      public static void dynamicBox(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a full box dynamically based on shader setting using ColorOption.Value
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • dynamicBox

      public static void dynamicBox(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders a full box dynamically based on shader setting using ColorOption.Value
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBox

      public static void dynamicBox(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box)
      Renders a full box dynamically based on shader setting using ColorOption.Value
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      box - The box to render
    • dynamicBox

      public static void dynamicBox(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
      Renders a full box dynamically based on shader setting using ColorOption.Value
      If useShader is true, renders only sides using shader (no lines). If useShader is false, renders full box with sides and lines. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      box - The box to render
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBoxSides

      public static void dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders box sides dynamically based on shader setting using ColorOption.Value
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • dynamicBoxSides

      public static void dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, double x1, double y1, double z1, double x2, double y2, double z2, float fade)
      Renders box sides dynamically based on shader setting using ColorOption.Value
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicBoxSides

      public static void dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box)
      Renders box sides dynamically based on shader setting using ColorOption.Value
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      box - The box to render sides for
    • dynamicBoxSides

      public static void dynamicBoxSides(ColorOption.Value colorOption, boolean useShader, net.minecraft.world.phys.AABB box, float fade)
      Renders box sides dynamically based on shader setting using ColorOption.Value
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      box - The box to render sides for
      fade - The fade value, 1F = full upwards fade, -1F = full downwards fade, 0F = no fade
    • dynamicSide

      public static void dynamicSide(ClientColor color, float opacity, boolean useShader, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face dynamically based on shader setting
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      color - The color to use
      opacity - The opacity value
      useShader - Whether to use shader rendering
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • dynamicSide

      public static void dynamicSide(ColorOption.Value colorOption, boolean useShader, byte direction, double x1, double y1, double z1, double x2, double y2, double z2)
      Renders a single box side/face dynamically based on shader setting using ColorOption.Value
      If useShader is true, uses shader rendering. If useShader is false, uses regular rendering. Throws RuntimeException if start() was not called first and useShader is false
      Parameters:
      colorOption - The color option value containing color and opacity settings
      useShader - Whether to use shader rendering
      direction - The direction of the side to render (use Dir constants)
      x1 - Minimum X coordinate
      y1 - Minimum Y coordinate
      z1 - Minimum Z coordinate
      x2 - Maximum X coordinate
      y2 - Maximum Y coordinate
      z2 - Maximum Z coordinate
    • line

      public static void line(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2)
      Draws a single 3D line between two points.
      Parameters:
      color - The line color
      opacity - The line opacity (0-1)
    • line

      public static void line(ClientColor color, float opacity, net.minecraft.world.phys.Vec3 from, net.minecraft.world.phys.Vec3 to)
      Draws a single 3D line between two points.
      Parameters:
      color - The line color
      opacity - The line opacity (0-1)
      from - Start point
      to - End point
    • triangle

      public static void triangle(ClientColor color, float opacity, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
      Draws a single filled 3D triangle from three points.
      Parameters:
      color - The fill color
      opacity - The fill opacity (0-1)
    • triangle

      public static void triangle(ClientColor color, float opacity, net.minecraft.world.phys.Vec3 a, net.minecraft.world.phys.Vec3 b, net.minecraft.world.phys.Vec3 c)
      Draws a single filled 3D triangle from three points.
      Parameters:
      color - The fill color
      opacity - The fill opacity (0-1)
    • polygon

      public static void polygon(ClientColor color, float opacity, net.minecraft.world.phys.Vec3... points)
      Draws a filled convex polygon from a list of points, as a fan of triangles around the first point. Points must be given in order around the polygon. Needs at least three points.
      Parameters:
      color - The fill color
      opacity - The fill opacity (0-1)
      points - The polygon vertices, in order
    • line

      public static void line(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2)
      Draws a 3D line using a ColorOption.Value (uses its outline opacity).
    • line

      public static void line(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3 from, net.minecraft.world.phys.Vec3 to)
      Draws a 3D line using a ColorOption.Value (uses its outline opacity).
    • triangle

      public static void triangle(ColorOption.Value colorOption, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
      Draws a filled triangle using a ColorOption.Value (uses its fill opacity).
    • triangle

      public static void triangle(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3 a, net.minecraft.world.phys.Vec3 b, net.minecraft.world.phys.Vec3 c)
      Draws a filled triangle using a ColorOption.Value (uses its fill opacity).
    • polygon

      public static void polygon(ColorOption.Value colorOption, net.minecraft.world.phys.Vec3... points)
      Draws a filled convex polygon using a ColorOption.Value (uses its fill opacity).