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 offsetX  
    protected double offsetY  
    protected double offsetZ  
    protected int[] perm  
  • Constructor Summary

    Constructors 
    Constructor Description
    NoiseGenerator()  
  • 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

  • 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