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 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 @NotNull NoiseGenerator[] octaves
    • xScale

      protected double xScale
    • yScale

      protected double yScale
    • zScale

      protected double zScale
  • 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 @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