PointNoise class
Пакет: com.hypixel.hytale.procedurallib.logic
Файл: com/hypixel/hytale/procedurallib/logic/PointNoise.java
implements: NoiseFunction
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var11 |
|
double |
var7 |
|
double |
var9 |
final |
double |
x |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var7 <= this.innerRadius2) |
|
|
if if(var9 <= this.innerRadius2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">public class PointNoise class="kw">implements NoiseFunction {
class="kw">private class="kw">final double x;
class="kw">private class="kw">final double y;
class="kw">private class="kw">final double z;
class="kw">private class="kw">final double innerRadius2;
class="kw">private class="kw">final double outerRadius2;
class="kw">private class="kw">final class="kw">transient double invRange2;
class="kw">public PointNoise(double var1, double var3, double var5, double var7, double var9) {
this.x = var1;
this.y = var3;
this.z = var5;
this.innerRadius2 = var7 * var7;
this.outerRadius2 = var9 * var9;
double var11 = this.outerRadius2 - this.innerRadius2;
this.invRange2 = var11 == 0.0 ? 1.0 : 1.0 / var11;
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5) {
double var7 = MathUtil.lengthSquared(var3 - this.x, var5 - this.y);
if (var7 <= this.innerRadius2) {
class="kw">return -1.0;
} else {
class="kw">return var7 >= this.outerRadius2 ? 1.0 : -1.0 + 2.0 * (var7 - this.innerRadius2) * this.invRange2;
}
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7) {
double var9 = MathUtil.lengthSquared(var3 - this.x, var5 - this.y, this.z - var7);
if (var9 <= this.innerRadius2) {
class="kw">return -1.0;
} else {
class="kw">return var9 >= this.outerRadius2 ? 1.0 : -1.0 + 2.0 * (var9 - this.innerRadius2) * this.invRange2;
}
}
}