Class PerlinNoiseGenerator

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static PerlinNoiseGenerator getInstance()
      Gets the singleton unseeded instance of this generator
      static double getNoise​(double x)
      Computes and returns the 1D unseeded perlin noise for the given coordinates in 1D space
      static double getNoise​(double x, double y)
      Computes and returns the 2D unseeded perlin noise for the given coordinates in 2D space
      static double getNoise​(double x, double y, double z)
      Computes and returns the 3D unseeded perlin noise for the given coordinates in 3D space
      static double getNoise​(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
      static double getNoise​(double x, double y, int octaves, double frequency, double amplitude)
      Generates noise for the 2D coordinates using the specified number of octaves and parameters
      static double getNoise​(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, double y, double z)
      Computes and returns the 3D noise for the given coordinates in 3D space
    • Field Detail

      • grad3

        protected static final int[][] grad3
    • Constructor Detail

      • PerlinNoiseGenerator

        protected PerlinNoiseGenerator()
      • PerlinNoiseGenerator

        public PerlinNoiseGenerator​(@NotNull
                                    World world)
        Creates a seeded perlin noise generator for the given world
        Parameters:
        world - World to construct this generator for
      • PerlinNoiseGenerator

        public PerlinNoiseGenerator​(long seed)
        Creates a seeded perlin noise generator for the given seed
        Parameters:
        seed - Seed to construct this generator for
      • PerlinNoiseGenerator

        public PerlinNoiseGenerator​(@NotNull
                                    Random rand)
        Creates a seeded perlin noise generator with the given Random
        Parameters:
        rand - Random to construct with
    • Method Detail

      • getNoise

        public static double getNoise​(double x)
        Computes and returns the 1D unseeded perlin noise for the given coordinates in 1D space
        Parameters:
        x - X coordinate
        Returns:
        Noise at given location, from range -1 to 1
      • getNoise

        public static double getNoise​(double x,
                                      double y)
        Computes and returns the 2D unseeded perlin 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
      • getNoise

        public static double getNoise​(double x,
                                      double y,
                                      double z)
        Computes and returns the 3D unseeded perlin 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
      • getInstance

        @NotNull
        public static PerlinNoiseGenerator getInstance()
        Gets the singleton unseeded instance of this generator
        Returns:
        Singleton
      • noise

        public double noise​(double x,
                            double y,
                            double z)
        Description copied from class: NoiseGenerator
        Computes and returns the 3D noise for the given coordinates in 3D space
        Specified by:
        noise in class NoiseGenerator
        Parameters:
        x - X coordinate
        y - Y coordinate
        z - Z coordinate
        Returns:
        Noise at given location, from range -1 to 1
      • getNoise

        public static double getNoise​(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
      • getNoise

        public static double getNoise​(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
      • getNoise

        public static double getNoise​(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