Class BlockTorusUtil

java.lang.Object
com.hypixel.hytale.math.block.BlockTorusUtil

public class BlockTorusUtil extends Object
Utility for iterating over blocks in a torus (donut) shape.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> boolean
    forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, boolean evenXZ, boolean evenY, T t, TriIntObjPredicate<T> consumer)
    Runs the specified operation on all blocks in the torus specified by the parameters.
    static <T> boolean
    forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, int thickness, boolean capped, boolean evenXZ, boolean evenY, T t, TriIntObjPredicate<T> consumer)
     
    static <T> boolean
    forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, int thickness, boolean capped, T t, TriIntObjPredicate<T> consumer)
    Runs the specified operation on all blocks in the hollow torus specified by the parameters.
    static <T> boolean
    forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, T t, TriIntObjPredicate<T> consumer)
    Runs the specified operation on all blocks in the torus specified by the parameters.

    Methods inherited from class Object

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

    • BlockTorusUtil

      public BlockTorusUtil()
  • Method Details

    • forEachBlock

      public static <T> boolean forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the torus specified by the parameters.
      Parameters:
      originX - The center of the torus on the X axis
      originY - The center of the torus on the Y axis
      originZ - The center of the torus on the Z axis
      outerRadius - The total outer radius of the torus (width/2). Must be greater than 0.
      minorRadius - The radius of the tube itself (height/4). Must be greater than 0.
      consumer - The operation to execute on each of the coordinates' values
    • forEachBlock

      public static <T> boolean forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, boolean evenXZ, boolean evenY, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the torus specified by the parameters. When evenXZ/evenY are true, shifts sampling by 0.5 to produce even-width shapes.
      Parameters:
      originX - The center of the torus on the X axis
      originY - The center of the torus on the Y axis
      originZ - The center of the torus on the Z axis
      outerRadius - The total outer radius of the torus (width/2). Must be greater than 0.
      minorRadius - The radius of the tube itself (height/4). Must be greater than 0.
      evenXZ - Whether the horizontal size is even (shifts sampling by 0.5)
      evenY - Whether the vertical size is even (shifts sampling by 0.5)
      consumer - The operation to execute on each of the coordinates' values
    • forEachBlock

      public static <T> boolean forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, int thickness, boolean capped, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the hollow torus specified by the parameters.
      Parameters:
      originX - The center of the torus on the X axis
      originY - The center of the torus on the Y axis
      originZ - The center of the torus on the Z axis
      outerRadius - The total outer radius of the torus (width/2). Must be greater than 0.
      minorRadius - The radius of the tube itself (height/4). Must be greater than 0.
      thickness - The wall thickness of the hollow torus. Must be greater than 0.
      consumer - The operation to execute on each of the coordinates' values
    • forEachBlock

      public static <T> boolean forEachBlock(int originX, int originY, int originZ, int outerRadius, int minorRadius, int thickness, boolean capped, boolean evenXZ, boolean evenY, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)