CellNoiseField class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.noise
Файл: com/hypixel/hytale/builtin/hytalegenerator/noise/CellNoiseField.java
extends: NoiseField
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
private |
FastNoiseLite |
cellNoise |
|
float |
var12 |
|
float |
var17 |
|
float |
var18 |
|
FastNoiseLite.Vector2 |
var5 |
|
FastNoiseLite.Vector3 |
var7 |
|
FastNoiseLite.Vector3 |
var9 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException() |
|
|
if if(var10 < 1) |
|
|
if if(this.doDomainWarp) |
|
|
if if(this.doDomainWarp) |
|
|
if if(this.doDomainWarp) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.noise;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CellNoiseField class="kw">extends NoiseField {
class="kw">private FastNoiseLite cellNoise;
class="kw">private int seed;
class="kw">private boolean doDomainWarp;
class="kw">private double scaleX;
class="kw">private double scaleY;
class="kw">private double scaleZ;
class="kw">public CellNoiseField(
int var1,
double var2,
double var4,
double var6,
double var8,
int var10,
@Nonnull FastNoiseLite.CellularReturnType var11,
@Nonnull FastNoiseLite.DomainWarpType var12,
double var13,
double var15
) {
if (var10 >= 1 && !(var13 <= 0.0) && !(var15 <= 0.0)) {
this.seed = var1;
this.scaleX = var2;
this.scaleY = var4;
this.scaleZ = var6;
this.cellNoise = new FastNoiseLite();
float var17 = 1.0F;
float var18 = 1.0F / (float)var15;
this.doDomainWarp = true;
var8 *= 2.0;
this.cellNoise.setNoiseType(FastNoiseLite.NoiseType.Cellular);
this.cellNoise.setCellularReturnType(var11);
this.cellNoise.setFractalOctaves(var10);
this.cellNoise.setFractalType(FastNoiseLite.FractalType.FBm);
this.cellNoise.setCellularDistanceFunction(FastNoiseLite.CellularDistanceFunction.Euclidean);
this.cellNoise.setSeed(var1);
this.cellNoise.setFrequency(var17);
this.cellNoise.setDomainWarpType(FastNoiseLite.DomainWarpType.OpenSimplex2);
this.cellNoise.setDomainWarpAmp((float)var13);
this.cellNoise.setDomainWarpFreq(var18);
this.cellNoise.setCellularJitter((float)var8);
} else {
throw new IllegalArgumentException();
}
}
class="kw">public CellNoiseField(int var1, double var2, double var4, double var6, double var8, int var10, @Nonnull FastNoiseLite.CellularReturnType var11) {
if (var10 < 1) {
throw new IllegalArgumentException();
}
this.seed = var1;
this.scaleX = var2;
this.scaleY = var4;
this.scaleZ = var6;
this.cellNoise = new FastNoiseLite();
float var12 = 1.0F;
this.doDomainWarp = false;
var8 *= 2.0;
this.cellNoise.setNoiseType(FastNoiseLite.NoiseType.Cellular);
this.cellNoise.setCellularReturnType(var11);
this.cellNoise.setFractalOctaves(var10);
this.cellNoise.setFractalType(FastNoiseLite.FractalType.FBm);
this.cellNoise.setCellularDistanceFunction(FastNoiseLite.CellularDistanceFunction.Euclidean);
this.cellNoise.setSeed(var1);
this.cellNoise.setFrequency(var12);
this.cellNoise.setCellularJitter((float)var8);
}
@Override
class="kw">public double valueAt(double var1, double var3, double var5, double var7) {
var1 /= this.scaleX;
var3 /= this.scaleY;
var5 /= this.scaleZ;
if (this.doDomainWarp) {
FastNoiseLite.Vector3 var9 = new FastNoiseLite.Vector3((float)var1, (float)var3, (float)var5);
this.cellNoise.DomainWarp(var9);
class="kw">return this.cellNoise.getNoise(var9.x, var9.y, var9.z);
} else {
class="kw">return this.cellNoise.getNoise(var1, var3, var5);
}
}
@Override
class="kw">public double valueAt(double var1, double var3, double var5) {
var1 /= this.scaleX;
var3 /= this.scaleY;
var5 /= this.scaleZ;
if (this.doDomainWarp) {
FastNoiseLite.Vector3 var7 = new FastNoiseLite.Vector3((float)var1, (float)var3, (float)var5);
this.cellNoise.DomainWarp(var7);
class="kw">return this.cellNoise.getNoise(var7.x, var7.y, var7.z);
} else {
class="kw">return this.cellNoise.getNoise(var1, var3, var5);
}
}
@Override
class="kw">public double valueAt(double var1, double var3) {
var1 /= this.scaleX;
var3 /= this.scaleZ;
if (this.doDomainWarp) {
FastNoiseLite.Vector2 var5 = new FastNoiseLite.Vector2((float)var1, (float)var3);
this.cellNoise.DomainWarp(var5);
class="kw">return this.cellNoise.getNoise(var5.x, var5.y);
} else {
class="kw">return this.cellNoise.getNoise(var1, var3);
}
}
@Override
class="kw">public double valueAt(double var1) {
var1 /= this.scaleX;
class="kw">return this.cellNoise.getNoise((float)var1, 0.0);
}
}