Class DensityPointEvaluator

java.lang.Object
com.hypixel.hytale.procedurallib.logic.cell.evaluator.DensityPointEvaluator
All Implemented Interfaces:
PointEvaluator

public class DensityPointEvaluator extends Object implements PointEvaluator
A PointEvaluator that occludes cells randomly according to their hash.
  • Constructor Details

  • Method Details

    • getJitter

      public CellJitter getJitter()
      Specified by:
      getJitter in interface PointEvaluator
      Returns:
      The jitter configuration to use when calculating cell centre-points.
    • evalPoint

      public void evalPoint(int seed, double x, double y, int cellHash, int cellX, int cellY, double cellPointX, double cellPointY, ResultBuffer.ResultBuffer2d buffer)
      Description copied from interface: PointEvaluator
      Evaluate the distance to a cell-point in a 2D neighborhood, recording only the closest result.
      Specified by:
      evalPoint in interface PointEvaluator
      Parameters:
      seed - The seed being sampled.
      x - The x-coordinate being sampled.
      y - The y-coordinate being sampled.
      cellHash - The seeded hash of the cell.
      cellX - The x-index of the cell.
      cellY - The y-index of the cell.
      cellPointX - The x-coordinate of the cell centre point.
      cellPointY - The y-coordinate of the cell centre point.
      buffer - The buffer into which the result of the evaluation is recorded.
    • evalPoint2

      public void evalPoint2(int seed, double x, double y, int cellHash, int cellX, int cellY, double cellPointX, double cellPointY, ResultBuffer.ResultBuffer2d buffer)
      Description copied from interface: PointEvaluator
      Evaluate the distance to a cell-point in a 2D neighborhood, recording the closest and second-closest result.
      Specified by:
      evalPoint2 in interface PointEvaluator
      Parameters:
      seed - The seed being sampled.
      x - The x-coordinate being sampled.
      y - The y-coordinate being sampled.
      cellHash - The seeded hash of the cell.
      cellX - The x-index of the cell.
      cellY - The y-index of the cell.
      cellPointX - The x-coordinate of the cell centre point.
      cellPointY - The y-coordinate of the cell centre point.
      buffer - The buffer into which the result of the evaluation is recorded.
    • evalPoint

      public void evalPoint(int seed, double x, double y, double z, int cellHash, int cellX, int cellY, int cellZ, double cellPointX, double cellPointY, double cellPointZ, ResultBuffer.ResultBuffer3d buffer)
      Description copied from interface: PointEvaluator
      Evaluate the distance to a cell-point in a 3D neighborhood, recording only the closest result.
      Specified by:
      evalPoint in interface PointEvaluator
      Parameters:
      seed - The seed being sampled.
      x - The x-coordinate being sampled.
      y - The y-coordinate being sampled.
      z - The z-coordinate being sampled.
      cellHash - The seeded hash of the cell.
      cellX - The x-index of the cell.
      cellY - The y-index of the cell.
      cellZ - The z-index of the cell.
      cellPointX - The x-coordinate of the cell centre point.
      cellPointY - The y-coordinate of the cell centre point.
      cellPointZ - The z-coordinate of the cell centre point.
      buffer - The buffer into which the result of the evaluation is recorded.
    • evalPoint2

      public void evalPoint2(int seed, double x, double y, double z, int cellHash, int cellX, int cellY, int cellZ, double cellPointX, double cellPointY, double cellPointZ, ResultBuffer.ResultBuffer3d buffer)
      Description copied from interface: PointEvaluator
      Evaluate the distance to a cell-point in a 3D neighborhood, recording the closest and second-closest result.
      Specified by:
      evalPoint2 in interface PointEvaluator
      Parameters:
      seed - The seed being sampled.
      x - The x-coordinate being sampled.
      y - The y-coordinate being sampled.
      z - The z-coordinate being sampled.
      cellHash - The seeded hash of the cell.
      cellX - The x-index of the cell.
      cellY - The y-index of the cell.
      cellZ - The z-index of the cell.
      cellPointX - The x-coordinate of the cell centre point.
      cellPointY - The y-coordinate of the cell centre point.
      cellPointZ - The z-coordinate of the cell centre point.
      buffer - The buffer into which the result of the evaluation is recorded.
    • collectPoint

      public <T> void collectPoint(int cellHash, int cellX, int cellY, double x, double y, T t, @Nonnull PointConsumer<T> consumer)
      Description copied from interface: PointEvaluator
      Accepts a cell centre-point and passes it to the provided consumer.
      Specified by:
      collectPoint in interface PointEvaluator
      Type Parameters:
      T - The type of the contextual information being passed to the consumer.
      Parameters:
      cellHash - The hash of the cell.
      x - The x-coordinate of the cell centre-point.
      y - The y-coordinate of the cell centre-point.
      t - An arbitrary piece of contextual information to pass to the collector for each point visited.
      consumer - A consumer of the cell centre-point.
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class Object
    • getDensityCondition

      @Nonnull public static IIntCondition getDensityCondition(@Nullable IDoubleCondition threshold)
    • randomDensityCondition

      public static double randomDensityCondition(int seed)