Class BlockDiamondUtil

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

public class BlockDiamondUtil extends Object
Utility for iterating over blocks in a diamond/octahedron shape (two pyramids joined at base).
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

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

    Methods inherited from class Object

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

    • BlockDiamondUtil

      public BlockDiamondUtil()
  • Method Details

    • forEachBlock

      public static <T> boolean forEachBlock(int originX, int originY, int originZ, int radiusX, int radiusY, int radiusZ, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the diamond specified by the parameters.
      Parameters:
      originX - The center of the diamond on the X axis
      originY - The center of the diamond on the Y axis (at the widest point)
      originZ - The center of the diamond on the Z axis
      radiusX - The radius of the diamond on the X axis at the widest point. Must be greater than 0.
      radiusY - The half-height of the diamond on the Y axis. Must be greater than 0.
      radiusZ - The radius of the diamond on the Z axis at the widest point. 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 radiusX, int radiusY, int radiusZ, boolean evenXZ, boolean evenY, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the diamond 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 diamond on the X axis
      originY - The center of the diamond on the Y axis (at the widest point)
      originZ - The center of the diamond on the Z axis
      radiusX - The radius of the diamond on the X axis at the widest point. Must be greater than 0.
      radiusY - The half-height of the diamond on the Y axis. Must be greater than 0.
      radiusZ - The radius of the diamond on the Z axis at the widest point. 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 radiusX, int radiusY, int radiusZ, int thickness, boolean capped, @Nullable T t, @Nonnull TriIntObjPredicate<T> consumer)
      Runs the specified operation on all blocks in the hollow diamond specified by the parameters.
    • forEachBlock

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