Class NoiseGenerator

java.lang.Object
org.bukkit.util.noise.NoiseGenerator
Direct Known Subclasses:
PerlinNoiseGenerator

public abstract class NoiseGenerator extends Object
Base class for all noise generators
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected double
     
    protected double
     
    protected double
     
    protected int[]
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static double
    fade​(double x)
     
    static int
    floor​(double x)
    Speedy floor, faster than (int)Math.floor(x)
    protected static double
    grad​(int hash, double x, double y, double z)
     
    protected static double
    lerp​(double x, double y, double z)
     
    double
    noise​(double x)
    Computes and returns the 1D noise for the given coordinate in 1D space
    double
    noise​(double x, double y)
    Computes and returns the 2D noise for the given coordinates in 2D space
    abstract double
    noise​(double x, double y, double z)
    Computes and returns the 3D noise for the given coordinates in 3D space
    double
    noise​(double x, double y, double z, int octaves, double frequency, double amplitude)
    Generates noise for the 3D coordinates using the specified number of octaves and parameters
    double
    noise​(double x, double y, double z, int octaves, double frequency, double amplitude, boolean normalized)
    Generates noise for the 3D coordinates using the specified number of octaves and parameters
    double
    noise​(double x, double y, int octaves, double frequency, double amplitude)
    Generates noise for the 2D coordinates using the specified number of octaves and parameters
    double
    noise​(double x, double y, int octaves, double frequency, double amplitude, boolean normalized)
    Generates noise for the 2D coordinates using the specified number of octaves and parameters
    double
    noise​(double x, int octaves, double frequency, double amplitude)
    Generates noise for the 1D coordinates using the specified number of octaves and parameters
    double
    noise​(double x, int octaves, double frequency, double amplitude, boolean normalized)
    Generates noise for the 1D coordinates using the specified number of octaves and parameters

    Methods inherited from class java.lang.Object

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

    • perm

      protected final int[] perm
    • offsetX

      protected double offsetX
    • offsetY

      protected double offsetY
    • offsetZ

      protected double offsetZ
  • Constructor Details

    • NoiseGenerator

      public NoiseGenerator()
  • Method Details

    • floor

      public static int floor(double x)
      Speedy floor, faster than (int)Math.floor(x)
      Parameters:
      x - Value to floor
      Returns:
      Floored value
    • fade

      protected static double fade(double x)
    • lerp

      protected static double lerp(double x, double y, double z)
    • grad

      protected static double grad(int hash, double x, double y, double z)
    • noise

      public double noise(double x)
      Computes and returns the 1D noise for the given coordinate in 1D space
      Parameters:
      x - X coordinate
      Returns:
      Noise at given location, from range -1 to 1
    • noise

      public double noise(double x, double y)
      Computes and returns the 2D noise for the given coordinates in 2D space
      Parameters:
      x - X coordinate
      y - Y coordinate
      Returns:
      Noise at given location, from range -1 to 1
    • noise

      public abstract double noise(double x, double y, double z)
      Computes and returns the 3D noise for the given coordinates in 3D space
      Parameters:
      x - X coordinate
      y - Y coordinate
      z - Z coordinate
      Returns:
      Noise at given location, from range -1 to 1
    • noise

      public double noise(double x, int octaves, double frequency, double amplitude)
      Generates noise for the 1D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      Returns:
      Resulting noise
    • noise

      public double noise(double x, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 1D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      normalized - If true, normalize the value to [-1, 1]
      Returns:
      Resulting noise
    • noise

      public double noise(double x, double y, int octaves, double frequency, double amplitude)
      Generates noise for the 2D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      y - Y-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      Returns:
      Resulting noise
    • noise

      public double noise(double x, double y, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 2D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      y - Y-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      normalized - If true, normalize the value to [-1, 1]
      Returns:
      Resulting noise
    • noise

      public double noise(double x, double y, double z, int octaves, double frequency, double amplitude)
      Generates noise for the 3D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      y - Y-coordinate
      z - Z-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      Returns:
      Resulting noise
    • noise

      public double noise(double x, double y, double z, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 3D coordinates using the specified number of octaves and parameters
      Parameters:
      x - X-coordinate
      y - Y-coordinate
      z - Z-coordinate
      octaves - Number of octaves to use
      frequency - How much to alter the frequency by each octave
      amplitude - How much to alter the amplitude by each octave
      normalized - If true, normalize the value to [-1, 1]
      Returns:
      Resulting noise