FractalFunction interface
Пакет: com.hypixel.hytale.procedurallib.property
Файл: com/hypixel/hytale/procedurallib/property/FractalNoiseProperty.java
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
double |
getdouble get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, NoiseFunction2d var12) |
abstract |
double |
getdouble get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, NoiseFunction3d var14) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.property;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction2d;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction3d;
class="kw">import com.hypixel.hytale.procedurallib.logic.GeneralNoise;
class="kw">import javax.annotation.Nonnull;
class="kw">public class FractalNoiseProperty class="kw">implements NoiseProperty {
class="kw">protected class="kw">final int seedOffset;
class="kw">protected class="kw">final NoiseFunction function;
class="kw">protected class="kw">final FractalNoiseProperty.FractalFunction fractalFunction;
class="kw">protected class="kw">final int octaves;
class="kw">protected class="kw">final double lacunarity;
class="kw">protected class="kw">final double persistence;
class="kw">public FractalNoiseProperty(int var1, NoiseFunction var2, FractalNoiseProperty.FractalFunction var3, int var4, double var5, double var7) {
this.seedOffset = var1;
this.function = var2;
this.fractalFunction = var3;
this.octaves = var4;
this.lacunarity = var5;
this.persistence = var7;
}
class="kw">public int getSeedOffset() {
class="kw">return this.seedOffset;
}
class="kw">public NoiseFunction getFunction() {
class="kw">return this.function;
}
class="kw">public FractalNoiseProperty.FractalFunction getFractalFunction() {
class="kw">return this.fractalFunction;
}
class="kw">public int getOctaves() {
class="kw">return this.octaves;
}
class="kw">public double getLacunarity() {
class="kw">return this.lacunarity;
}
class="kw">public double getPersistence() {
class="kw">return this.persistence;
}
@Override
class="kw">public double get(int var1, double var2, double var4) {
class="kw">return this.fractalFunction.get(var1, var1 + this.seedOffset, var2, var4, this.octaves, this.lacunarity, this.persistence, this.function);
}
@Override
class="kw">public double get(int var1, double var2, double var4, double var6) {
class="kw">return this.fractalFunction.get(var1, var1 + this.seedOffset, var2, var4, var6, this.octaves, this.lacunarity, this.persistence, this.function);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "FractalNoiseProperty{seedOffset="
+ this.seedOffset
+ ", function="
+ this.function
+ ", fractalFunction="
+ this.fractalFunction
+ ", octaves="
+ this.octaves
+ ", lacunarity="
+ this.lacunarity
+ ", persistence="
+ this.persistence
+ "}";
}
class="kw">private class="kw">interface FractalFunction {
double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, NoiseFunction2d var12);
double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, NoiseFunction3d var14);
}
class="kw">public enum FractalMode {
FBM(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = var12.get(var1, var2, var3, var5);
double var15 = 1.0;
for (int var17 = 1; var17 < var7; var17++) {
var3 *= var8;
var5 *= var8;
var15 *= var10;
var13 += var12.get(var1, ++var2, var3, var5) * var15;
}
class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = var14.get(var1, var2, var3, var5, var7);
double var17 = 1.0;
for (int var19 = 1; var19 < var9; var19++) {
var3 *= var10;
var5 *= var10;
var7 *= var10;
var17 *= var12;
var15 += var14.get(var1, ++var2, var3, var5, var7) * var17;
}
class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "FbmFractalFunction{}";
}
}),
BILLOW(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = Math.abs(var12.get(var1, var2, var3, var5)) * 2.0 - 1.0;
double var15 = 1.0;
for (int var17 = 1; var17 < var7; var17++) {
var3 *= var8;
var5 *= var8;
var15 *= var10;
var2++;
var13 += (Math.abs(var12.get(var1, var2, var3, var5)) * 2.0 - 1.0) * var15;
}
class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = Math.abs(var14.get(var1, var2, var3, var5, var7)) * 2.0 - 1.0;
double var17 = 1.0;
for (int var19 = 1; var19 < var9; var19++) {
var3 *= var10;
var5 *= var10;
var7 *= var10;
var17 *= var12;
var2++;
var15 += (Math.abs(var14.get(var1, var2, var3, var5, var7)) * 2.0 - 1.0) * var17;
}
class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "BillowFractalFunction{}";
}
}),
MULTI_RIGID(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = 1.0 - Math.abs(var12.get(var1, var2, var3, var5));
double var15 = 1.0;
for (int var17 = 1; var17 < var7; var17++) {
var3 *= var8;
var5 *= var8;
var15 *= var10;
var2++;
var13 -= (1.0 - Math.abs(var12.get(var1, var2, var3, var5))) * var15;
}
class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = 1.0 - Math.abs(var14.get(var1, var2, var3, var5, var7));
double var17 = 1.0;
for (int var19 = 1; var19 < var9; var19++) {
var3 *= var10;
var5 *= var10;
var7 *= var10;
var17 *= var12;
var2++;
var15 -= (1.0 - Math.abs(var14.get(var1, var2, var3, var5, var7))) * var17;
}
class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MultiRigidFractalFunction{}";
}
}),
OLDSCHOOL(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = 0.0;
double var15 = 1.0;
int var17 = 1;
double var18 = 0.0;
var1--;
for (int var20 = 0; var20 < var7; var20++) {
var18 += var12.get(var1, var2++, var3 * var17, var5 * var17) * var15;
var13 += var15;
var15 *= var10;
var17 <<= 1;
}
var18 /= var13;
var18 *= 0.5;
class="kw">return var18 + 0.5;
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = 0.0;
double var17 = 1.0;
int var19 = 1;
double var20 = 0.0;
var1--;
for (int var22 = 0; var22 < var9; var22++) {
var20 += var14.get(var1, var2++, var3 * var19, var5 * var19, var7 * var19) * var17;
var15 += var17;
var17 *= var12;
var19 <<= 1;
}
var20 /= var15;
var20 *= 0.5;
class="kw">return var20 + 0.5;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "OldschoolFractalFunction{}";
}
}),
MIN(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = var12.get(var1, var2, var3, var5);
for (int var15 = 1; var15 < var7; var15++) {
var3 *= var8;
var5 *= var8;
double var16 = var12.get(var1, ++var2, var3, var5);
if (var16 < var13) {
var13 = var16;
}
}
class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = var14.get(var1, var2, var3, var5, var7);
for (int var17 = 1; var17 < var9; var17++) {
var3 *= var10;
var5 *= var10;
double var18 = var14.get(var1, ++var2, var3, var5, var7);
if (var18 < var15) {
var15 = var18;
}
}
class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MinFractalFunction{}";
}
}),
MAX(new FractalNoiseProperty.FractalFunction() {
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, int var7, double var8, double var10, @Nonnull NoiseFunction2d var12) {
double var13 = var12.get(var1, var2, var3, var5);
for (int var15 = 1; var15 < var7; var15++) {
var3 *= var8;
var5 *= var8;
double var16 = var12.get(var1, ++var2, var3, var5);
if (var16 > var13) {
var13 = var16;
}
}
class="kw">return GeneralNoise.limit(var13 * 0.5 + 0.5);
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7, int var9, double var10, double var12, @Nonnull NoiseFunction3d var14) {
double var15 = var14.get(var1, var2, var3, var5, var7);
for (int var17 = 1; var17 < var9; var17++) {
var3 *= var10;
var5 *= var10;
double var18 = var14.get(var1, ++var2, var3, var5, var7);
if (var18 > var15) {
var15 = var18;
}
}
class="kw">return GeneralNoise.limit(var15 * 0.5 + 0.5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MaxFractalFunction{}";
}
});
class="kw">private class="kw">final FractalNoiseProperty.FractalFunction function;
FractalMode(FractalNoiseProperty.FractalFunction nullxx) {
this.function = nullxx;
}
class="kw">public FractalNoiseProperty.FractalFunction getFunction() {
class="kw">return this.function;
}
}
}