Class PerlinNoise

java.lang.Object
net.minecraft.world.level.levelgen.synth.PerlinNoise

public class PerlinNoise extends Object
This class generates multiple octaves of perlin noise. Each individual octave is an instance of ImprovedNoise. Mojang uses the term 'Perlin' to describe octaves or fBm (Fractal Brownian Motion) noise.
  • Field Details

    • ROUND_OFF

      private static final int ROUND_OFF
      See Also:
    • noiseLevels

      private final ImprovedNoise[] noiseLevels
    • firstOctave

      private final int firstOctave
    • amplitudes

      private final it.unimi.dsi.fastutil.doubles.DoubleList amplitudes
    • lowestFreqValueFactor

      private final double lowestFreqValueFactor
    • lowestFreqInputFactor

      private final double lowestFreqInputFactor
    • maxValue

      private final double maxValue
  • Constructor Details

    • PerlinNoise

      protected PerlinNoise(RandomSource random, com.mojang.datafixers.util.Pair<Integer,it.unimi.dsi.fastutil.doubles.DoubleList> octavesAndAmplitudes, boolean useNewFactory)
  • Method Details

    • createLegacyForBlendedNoise

      @Deprecated public static PerlinNoise createLegacyForBlendedNoise(RandomSource random, IntStream octaves)
      Deprecated.
    • createLegacyForLegacyNetherBiome

      @Deprecated public static PerlinNoise createLegacyForLegacyNetherBiome(RandomSource random, int firstOctave, it.unimi.dsi.fastutil.doubles.DoubleList amplitudes)
      Deprecated.
    • create

      public static PerlinNoise create(RandomSource random, IntStream octaves)
    • create

      public static PerlinNoise create(RandomSource random, List<Integer> octaves)
    • create

      public static PerlinNoise create(RandomSource random, int firstOctave, double firstAmplitude, double... amplitudes)
    • create

      public static PerlinNoise create(RandomSource random, int firstOctave, it.unimi.dsi.fastutil.doubles.DoubleList amplitudes)
    • makeAmplitudes

      private static com.mojang.datafixers.util.Pair<Integer,it.unimi.dsi.fastutil.doubles.DoubleList> makeAmplitudes(it.unimi.dsi.fastutil.ints.IntSortedSet octaves)
    • maxValue

      protected double maxValue()
    • skipOctave

      private static void skipOctave(RandomSource random)
    • getValue

      public double getValue(double x, double y, double z)
    • getValue

      @Deprecated public double getValue(double x, double y, double z, double yScale, double yMax, boolean useFixedY)
      Deprecated.
    • maxBrokenValue

      public double maxBrokenValue(double yMultiplier)
    • edgeValue

      private double edgeValue(double multiplier)
    • getOctaveNoise

      @Nullable public ImprovedNoise getOctaveNoise(int octave)
      Returns:
      A single octave of Perlin noise.
    • wrap

      public static double wrap(double value)
    • firstOctave

      protected int firstOctave()
    • amplitudes

      protected it.unimi.dsi.fastutil.doubles.DoubleList amplitudes()
    • parityConfigString

      public void parityConfigString(StringBuilder builder)