Package org.bukkit.util.noise

# 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 final 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

### NoiseGenerator

public NoiseGenerator()

## 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