Package org.bukkit.util.noise
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
-
Field Summary
Fields Modifier and Type Field Description protected static int[][]
grad3
-
Constructor Summary
Constructors Modifier Constructor Description protected
PerlinNoiseGenerator()
PerlinNoiseGenerator(long seed)
Creates a seeded perlin noise generator for the given seedPerlinNoiseGenerator(Random rand)
Creates a seeded perlin noise generator with the given RandomPerlinNoiseGenerator(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 generatorstatic double
getNoise(double x)
Computes and returns the 1D unseeded perlin noise for the given coordinates in 1D spacestatic double
getNoise(double x, double y)
Computes and returns the 2D unseeded perlin noise for the given coordinates in 2D spacestatic double
getNoise(double x, double y, double z)
Computes and returns the 3D unseeded perlin noise for the given coordinates in 3D spacestatic 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 parametersstatic 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 parametersstatic double
getNoise(double x, int octaves, double frequency, double amplitude)
Generates noise for the 1D coordinates using the specified number of octaves and parametersdouble
noise(double x, double y, double z)
Computes and returns the 3D noise for the given coordinates in 3D space
-
Field Details
-
grad3
protected static final int[][] grad3
-
-
Constructor Details
-
PerlinNoiseGenerator
protected PerlinNoiseGenerator() -
PerlinNoiseGenerator
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
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 coordinatey
- 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 coordinatey
- Y coordinatez
- Z coordinate- Returns:
- Noise at given location, from range -1 to 1
-
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 classNoiseGenerator
- Parameters:
x
- X coordinatey
- Y coordinatez
- 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-coordinateoctaves
- Number of octaves to usefrequency
- How much to alter the frequency by each octaveamplitude
- 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-coordinatey
- Y-coordinateoctaves
- Number of octaves to usefrequency
- How much to alter the frequency by each octaveamplitude
- 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-coordinatey
- Y-coordinatez
- Z-coordinateoctaves
- Number of octaves to usefrequency
- How much to alter the frequency by each octaveamplitude
- How much to alter the amplitude by each octave- Returns:
- Resulting noise
-