DistancePointEvaluator class
Пакет: com.hypixel.hytale.procedurallib.logic.cell.evaluator
Файл: com/hypixel/hytale/procedurallib/logic/cell/evaluator/DistancePointEvaluator.java
implements: PointEvaluator
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
PointDistanceFunction |
distanceFunction |
|
double |
var14 |
|
|
var14 |
|
double |
var14 |
|
|
var14 |
|
double |
var19 |
|
|
var19 |
|
double |
var19 |
|
|
var19 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
double |
randomDistanceModificationdouble randomDistanceModification(int var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic.cell.evaluator;
class="kw">import com.hypixel.hytale.math.util.HashUtil;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.PointDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleRange;
class="kw">import com.hypixel.hytale.procedurallib.supplier.ISeedDoubleRange;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class DistancePointEvaluator class="kw">implements PointEvaluator {
class="kw">protected class="kw">final PointDistanceFunction distanceFunction;
class="kw">protected class="kw">final ISeedDoubleRange distanceMod;
class="kw">public DistancePointEvaluator(PointDistanceFunction var1, IDoubleRange var2) {
this(var1, getDistanceModifier(var2));
}
class="kw">public DistancePointEvaluator(PointDistanceFunction var1, ISeedDoubleRange var2) {
this.distanceFunction = var1;
this.distanceMod = var2;
}
@Override
class="kw">public void evalPoint(
int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, @Nonnull ResultBuffer.ResultBuffer2d var13
) {
double var14 = this.distanceFunction.distance2D(var1, var7, var8, var9, var11, var9 - var2, var11 - var4);
var14 = this.distanceMod.getValue(var6, var14);
var13.register(var6, var7, var8, var14, var9, var11);
}
@Override
class="kw">public void evalPoint2(
int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, @Nonnull ResultBuffer.ResultBuffer2d var13
) {
double var14 = this.distanceFunction.distance2D(var1, var7, var8, var9, var11, var9 - var2, var11 - var4);
var14 = this.distanceMod.getValue(var6, var14);
var13.register2(var6, var7, var8, var14, var9, var11);
}
@Override
class="kw">public void evalPoint(
int var1,
double var2,
double var4,
double var6,
int var8,
int var9,
int var10,
int var11,
double var12,
double var14,
double var16,
@Nonnull ResultBuffer.ResultBuffer3d var18
) {
double var19 = this.distanceFunction.distance3D(var1, var9, var10, var11, var12, var14, var16, var12 - var2, var14 - var4, var16 - var6);
var19 = this.distanceMod.getValue(var8, var19);
var18.register(var8, var9, var10, var11, var19, var12, var14, var16);
}
@Override
class="kw">public void evalPoint2(
int var1,
double var2,
double var4,
double var6,
int var8,
int var9,
int var10,
int var11,
double var12,
double var14,
double var16,
@Nonnull ResultBuffer.ResultBuffer3d var18
) {
double var19 = this.distanceFunction.distance3D(var1, var9, var10, var11, var12, var14, var16, var12 - var2, var14 - var4, var16 - var6);
var19 = this.distanceMod.getValue(var8, var19);
var18.register2(var8, var9, var10, var11, var19, var12, var14, var16);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "DistancePointEvaluator{distanceFunction=" + this.distanceFunction + ", distanceMod=" + this.distanceMod + "}";
}
@Nonnull
class="kw">public class="kw">static ISeedDoubleRange getDistanceModifier(@Nullable IDoubleRange var0) {
class="kw">return var0 == null ? ISeedDoubleRange.DIRECT : (var1, var2) -> var2 * var0.getValue(randomDistanceModification(var1));
}
class="kw">public class="kw">static double randomDistanceModification(int var0) {
class="kw">return HashUtil.random(var0, 1495661265L);
}
}