MinecraftGRPF/src/com/mojang/minecraft/level/levelgen/synth/PerlinNoise.java

37 lines
910 B
Java

//
// Decompiled by Procyon v0.5.36
//
package com.mojang.minecraft.level.levelgen.synth;
import java.util.Random;
public class PerlinNoise extends Synth
{
private ImprovedNoise[] noiseLevels;
private int levels;
public PerlinNoise(final int levels) {
this(new Random(), levels);
}
public PerlinNoise(final Random random, final int levels) {
this.levels = levels;
this.noiseLevels = new ImprovedNoise[levels];
for (int i = 0; i < levels; ++i) {
this.noiseLevels[i] = new ImprovedNoise(random);
}
}
@Override
public double getValue(final double x, final double y) {
double value = 0.0;
double pow = 1.0;
for (int i = 0; i < this.levels; ++i) {
value += this.noiseLevels[i].getValue(x / pow, y / pow) * pow;
pow *= 2.0;
}
return value;
}
}