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

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets a clone of the individual octaves used within this generator
    double
    Gets the scale used for each X-coordinates passed
    double
    Gets the scale used for each Y-coordinates passed
    double
    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 NoiseGenerator[] octaves
    • xScale

      protected double xScale
    • yScale

      protected double yScale
    • zScale

      protected double zScale
  • Constructor Details

    • OctaveGenerator

      protected OctaveGenerator(@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 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