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 NoiseGenerator[] octaves  
    protected double xScale  
    protected double yScale  
    protected double zScale  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected OctaveGenerator​(NoiseGenerator[] octaves)  
  • Method Summary

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

  • Constructor Details

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