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 pRandom, com.mojang.datafixers.util.Pair<Integer,it.unimi.dsi.fastutil.doubles.DoubleList> pOctavesAndAmplitudes, boolean pUseNewFactory)
  • Method Details

    • createLegacyForBlendedNoise

      @Deprecated public static PerlinNoise createLegacyForBlendedNoise(RandomSource pRandom, IntStream pOctaves)
      Deprecated.
    • createLegacyForLegacyNetherBiome

      @Deprecated public static PerlinNoise createLegacyForLegacyNetherBiome(RandomSource pRandom, int pFirstOctave, it.unimi.dsi.fastutil.doubles.DoubleList pAmplitudes)
      Deprecated.
    • create

      public static PerlinNoise create(RandomSource pRandom, IntStream pOctaves)
    • create

      public static PerlinNoise create(RandomSource pRandom, List<Integer> pOctaves)
    • create

      public static PerlinNoise create(RandomSource pRandom, int pFirstOctave, double pFirstAmplitude, double... pAmplitudes)
    • create

      public static PerlinNoise create(RandomSource pRandom, int pFirstOctave, it.unimi.dsi.fastutil.doubles.DoubleList pAmplitudes)
    • makeAmplitudes

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

      protected double maxValue()
    • skipOctave

      private static void skipOctave(RandomSource pRandom)
    • getValue

      public double getValue(double pX, double pY, double pZ)
    • getValue

      @Deprecated public double getValue(double pX, double pY, double pZ, double pYScale, double pYMax, boolean pUseFixedY)
      Deprecated.
    • maxBrokenValue

      public double maxBrokenValue(double pYMultiplier)
    • edgeValue

      private double edgeValue(double pMultiplier)
    • getOctaveNoise

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

      public static double wrap(double pValue)
    • firstOctave

      protected int firstOctave()
    • amplitudes

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

      public void parityConfigString(StringBuilder pBuilder)