Class PerlinNoiseGenerator

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

public class PerlinNoiseGenerator
extends NoiseGenerator
Generates noise using the "classic" perlin generator
See Also:
"Improved" and faster version with slightly different results
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected static int[][] grad3  

    Fields inherited from class org.bukkit.util.noise.NoiseGenerator

    offsetX, offsetY, offsetZ, perm
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected PerlinNoiseGenerator()  
      PerlinNoiseGenerator​(long seed)
    Creates a seeded perlin noise generator for the given seed
      PerlinNoiseGenerator​(Random rand)
    Creates a seeded perlin noise generator with the given Random
      PerlinNoiseGenerator​(World world)
    Creates a seeded perlin noise generator for the given world
  • Method Summary

    Modifier and Type Method Description
    static PerlinNoiseGenerator getInstance()
    Gets the singleton unseeded instance of this generator
    static double getNoise​(double x)
    Computes and returns the 1D unseeded perlin noise for the given coordinates in 1D space
    static double getNoise​(double x, double y)
    Computes and returns the 2D unseeded perlin noise for the given coordinates in 2D space
    static double getNoise​(double x, double y, double z)
    Computes and returns the 3D unseeded perlin noise for the given coordinates in 3D space
    static double getNoise​(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
    static double getNoise​(double x, double y, int octaves, double frequency, double amplitude)
    Generates noise for the 2D coordinates using the specified number of octaves and parameters
    static double getNoise​(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, double y, double z)
    Computes and returns the 3D noise for the given coordinates in 3D space

    Methods inherited from class org.bukkit.util.noise.NoiseGenerator

    fade, floor, grad, lerp, noise, noise, noise, noise, noise, noise, noise, noise

    Methods inherited from class java.lang.Object

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

    • grad3

      protected static final int[][] grad3
  • Constructor Details

    • PerlinNoiseGenerator

      protected PerlinNoiseGenerator()
    • PerlinNoiseGenerator

      public PerlinNoiseGenerator​(@NotNull World world)
      Creates a seeded perlin noise generator for the given world
      Parameters:
      world - World to construct this generator for
    • PerlinNoiseGenerator

      public PerlinNoiseGenerator​(long seed)
      Creates a seeded perlin noise generator for the given seed
      Parameters:
      seed - Seed to construct this generator for
    • PerlinNoiseGenerator

      public PerlinNoiseGenerator​(@NotNull Random rand)
      Creates a seeded perlin noise generator with the given Random
      Parameters:
      rand - Random to construct with
  • Method Details

    • getNoise

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

      public static double getNoise​(double x, double y)
      Computes and returns the 2D unseeded perlin 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
    • getNoise

      public static double getNoise​(double x, double y, double z)
      Computes and returns the 3D unseeded perlin 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
    • getInstance

      @NotNull public static PerlinNoiseGenerator getInstance()
      Gets the singleton unseeded instance of this generator
      Returns:
      Singleton
    • noise

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

      public static double getNoise​(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
    • getNoise

      public static double getNoise​(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
    • getNoise

      public static double getNoise​(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