Package org.bukkit.util.noise

# Class SimplexNoiseGenerator

java.lang.Object
org.bukkit.util.noise.NoiseGenerator
org.bukkit.util.noise.PerlinNoiseGenerator
org.bukkit.util.noise.SimplexNoiseGenerator

public class SimplexNoiseGenerator extends PerlinNoiseGenerator
Generates simplex-based noise.

This is a modified version of the freely published version in the paper by Stefan Gustavson at http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final double`
`F2`
`protected static final double`
`F3`
`protected static final double`
`F4`
`protected static final double`
`G2`
`protected static final double`
`G22`
`protected static final double`
`G3`
`protected static final double`
`G4`
`protected static final double`
`G42`
`protected static final double`
`G43`
`protected static final double`
`G44`
`protected static final int[][]`
`grad4`
`protected double`
`offsetW`
`protected static final int[][]`
`simplex`
`protected static final double`
`SQRT_3`
`protected static final double`
`SQRT_5`

### Fields inherited from class org.bukkit.util.noise.PerlinNoiseGenerator

`grad3`

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

`offsetX, offsetY, offsetZ, perm`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SimplexNoiseGenerator()`
``
`SimplexNoiseGenerator(long seed)`
Creates a seeded simplex noise generator for the given seed
``
`SimplexNoiseGenerator(@NotNull Random rand)`
Creates a seeded simplex noise generator with the given Random
``
`SimplexNoiseGenerator(@NotNull World world)`
Creates a seeded simplex noise generator for the given world

## Method Summary

Modifier and Type
Method
Description
`protected static double`
`dot(@org.jetbrains.annotations.NotNull int[] g, double x, double y)`
`protected static double`
`dot(@org.jetbrains.annotations.NotNull int[] g, double x, double y, double z)`
`protected static double`
`dot(@org.jetbrains.annotations.NotNull int[] g, double x, double y, double z, double w)`
`static @NotNull SimplexNoiseGenerator`
`getInstance()`
Gets the singleton unseeded instance of this generator
`static double`
`getNoise(double xin)`
Computes and returns the 1D unseeded simplex noise for the given coordinates in 1D space
`static double`
`getNoise(double xin, double yin)`
Computes and returns the 2D unseeded simplex noise for the given coordinates in 2D space
`static double`
`getNoise(double xin, double yin, double zin)`
Computes and returns the 3D unseeded simplex noise for the given coordinates in 3D space
`static double`
`getNoise(double x, double y, double z, double w)`
Computes and returns the 4D simplex noise for the given coordinates in 4D space
`double`
`noise(double xin, double yin)`
Computes and returns the 2D noise for the given coordinates in 2D space
`double`
`noise(double xin, double yin, double zin)`
Computes and returns the 3D noise for the given coordinates in 3D space
`double`
`noise(double x, double y, double z, double w)`
Computes and returns the 4D simplex noise for the given coordinates in 4D space

### Methods inherited from class org.bukkit.util.noise.PerlinNoiseGenerator

`getNoise, getNoise, getNoise`

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

`fade, floor, grad, lerp, 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

### SQRT_3

protected static final double SQRT_3

### SQRT_5

protected static final double SQRT_5

### F2

protected static final double F2

### G2

protected static final double G2

### G22

protected static final double G22

### F3

protected static final double F3

See Also:
  - Constant Field Values

### G3

protected static final double G3

See Also:
  - Constant Field Values

### F4

protected static final double F4

### G4

protected static final double G4

### G42

protected static final double G42

### G43

protected static final double G43

### G44

protected static final double G44

### grad4

protected static final int[][] grad4

### simplex

protected static final int[][] simplex

### offsetW

protected double offsetW

## Constructor Details

### SimplexNoiseGenerator

protected SimplexNoiseGenerator()

### SimplexNoiseGenerator

public SimplexNoiseGenerator(@NotNull @NotNull World world)
Creates a seeded simplex noise generator for the given world

Parameters:
  `world` - World to construct this generator for

### SimplexNoiseGenerator

public SimplexNoiseGenerator(long seed)
Creates a seeded simplex noise generator for the given seed

Parameters:
  `seed` - Seed to construct this generator for

### SimplexNoiseGenerator

public SimplexNoiseGenerator(@NotNull @NotNull Random rand)
Creates a seeded simplex noise generator with the given Random

Parameters:
  `rand` - Random to construct with

## Method Details

### dot

protected static double dot(@NotNull @org.jetbrains.annotations.NotNull int[] g, double x, double y)

### dot

protected static double dot(@NotNull @org.jetbrains.annotations.NotNull int[] g, double x, double y, double z)

### dot

protected static double dot(@NotNull @org.jetbrains.annotations.NotNull int[] g, double x, double y, double z, double w)

### getNoise

public static double getNoise(double xin)
Computes and returns the 1D unseeded simplex noise for the given coordinates in 1D space

Parameters:
  `xin` - X coordinate
Returns:
  Noise at given location, from range -1 to 1

### getNoise

public static double getNoise(double xin, double yin)
Computes and returns the 2D unseeded simplex noise for the given coordinates in 2D space

Parameters:
  `xin` - X coordinate
  `yin` - Y coordinate
Returns:
  Noise at given location, from range -1 to 1

### getNoise

public static double getNoise(double xin, double yin, double zin)
Computes and returns the 3D unseeded simplex noise for the given coordinates in 3D space

Parameters:
  `xin` - X coordinate
  `yin` - Y coordinate
  `zin` - Z coordinate
Returns:
  Noise at given location, from range -1 to 1

### getNoise

public static double getNoise(double x, double y, double z, double w)
Computes and returns the 4D simplex noise for the given coordinates in 4D space

Parameters:
  `x` - X coordinate
  `y` - Y coordinate
  `z` - Z coordinate
  `w` - W coordinate
Returns:
  Noise at given location, from range -1 to 1

### noise

public double noise(double xin, double yin, double zin)
Description copied from class: `NoiseGenerator`
Computes and returns the 3D noise for the given coordinates in 3D space

Overrides:
  `noise` in class `PerlinNoiseGenerator`
Parameters:
  `xin` - X coordinate
  `yin` - Y coordinate
  `zin` - Z coordinate
Returns:
  Noise at given location, from range -1 to 1

### noise

public double noise(double xin, double yin)
Description copied from class: `NoiseGenerator`
Computes and returns the 2D noise for the given coordinates in 2D space

Overrides:
  `noise` in class `NoiseGenerator`
Parameters:
  `xin` - X coordinate
  `yin` - Y coordinate
Returns:
  Noise at given location, from range -1 to 1

### noise

public double noise(double x, double y, double z, double w)
Computes and returns the 4D simplex noise for the given coordinates in 4D space

Parameters:
  `x` - X coordinate
  `y` - Y coordinate
  `z` - Z coordinate
  `w` - W coordinate
Returns:
  Noise at given location, from range -1 to 1

### getInstance

@NotNull public static @NotNull SimplexNoiseGenerator getInstance()
Gets the singleton unseeded instance of this generator

Returns:
  Singleton