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[][]
     

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

    offsetX, offsetY, offsetZ, perm
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    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 @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 @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 @NotNull 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