Package org.bukkit.util.noise

# Class OctaveGenerator

java.lang.Object
org.bukkit.util.noise.OctaveGenerator

Direct Known Subclasses:
  `PerlinOctaveGenerator`, `SimplexOctaveGenerator`

public abstract class OctaveGenerator extends Object
Creates noise using unbiased octaves

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final @NotNull NoiseGenerator[]`
`octaves`
`protected double`
`xScale`
`protected double`
`yScale`
`protected double`
`zScale`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`OctaveGenerator(@NotNull NoiseGenerator[] octaves)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull NoiseGenerator[]`
`getOctaves()`
Gets a clone of the individual octaves used within this generator
`double`
`getXScale()`
Gets the scale used for each X-coordinates passed
`double`
`getYScale()`
Gets the scale used for each Y-coordinates passed
`double`
`getZScale()`
Gets the scale used for each Z-coordinates passed
`double`
`noise(double x, double frequency, double amplitude)`
Generates noise for the 1D coordinates using the specified number of octaves and parameters
`double`
`noise(double x, double frequency, double amplitude, boolean normalized)`
Generates noise for the 1D coordinates using the specified number of octaves and parameters
`double`
`noise(double x, double y, double frequency, double amplitude)`
Generates noise for the 2D coordinates using the specified number of octaves and parameters
`double`
`noise(double x, double y, double frequency, double amplitude, boolean normalized)`
Generates noise for the 2D coordinates using the specified number of octaves and parameters
`double`
`noise(double x, double y, double z, 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, double frequency, double amplitude, boolean normalized)`
Generates noise for the 3D coordinates using the specified number of octaves and parameters
`void`
`setScale(double scale)`
Sets the scale used for all coordinates passed to this generator.
`void`
`setXScale(double scale)`
Sets the scale used for each X-coordinates passed
`void`
`setYScale(double scale)`
Sets the scale used for each Y-coordinates passed
`void`
`setZScale(double scale)`
Sets the scale used for each Z-coordinates passed

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### octaves

@NotNull protected final @NotNull NoiseGenerator[] octaves

### xScale

protected double xScale

### yScale

protected double yScale

### zScale

protected double zScale

## Constructor Details

### OctaveGenerator

protected OctaveGenerator(@NotNull @NotNull NoiseGenerator[] octaves)

## Method Details

### setScale

public void setScale(double scale)
Sets the scale used for all coordinates passed to this generator.

This is the equivalent to setting each coordinate to the specified value.

Parameters:
  `scale` - New value to scale each coordinate by

### getXScale

public double getXScale()
Gets the scale used for each X-coordinates passed

Returns:
  X scale

### setXScale

public void setXScale(double scale)
Sets the scale used for each X-coordinates passed

Parameters:
  `scale` - New X scale

### getYScale

public double getYScale()
Gets the scale used for each Y-coordinates passed

Returns:
  Y scale

### setYScale

public void setYScale(double scale)
Sets the scale used for each Y-coordinates passed

Parameters:
  `scale` - New Y scale

### getZScale

public double getZScale()
Gets the scale used for each Z-coordinates passed

Returns:
  Z scale

### setZScale

public void setZScale(double scale)
Sets the scale used for each Z-coordinates passed

Parameters:
  `scale` - New Z scale

### getOctaves

@NotNull public @NotNull NoiseGenerator[] getOctaves()
Gets a clone of the individual octaves used within this generator

Returns:
  Clone of the individual octaves

### noise

public double noise(double x, double frequency, double amplitude)
Generates noise for the 1D coordinates using the specified number of octaves and parameters

Parameters:
  `x` - X-coordinate
  `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 frequency, double amplitude, boolean normalized)
Generates noise for the 1D coordinates using the specified number of octaves and parameters

Parameters:
  `x` - X-coordinate
  `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 frequency, double amplitude)
Generates noise for the 2D coordinates using the specified number of octaves and parameters

Parameters:
  `x` - X-coordinate
  `y` - Y-coordinate
  `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 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
  `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, 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
  `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, 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
  `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