SkipCellPointEvaluator class
Пакет: com.hypixel.hytale.procedurallib.logic.cell.evaluator
Файл: com/hypixel/hytale/procedurallib/logic/cell/evaluator/SkipCellPointEvaluator.java
implements: PointEvaluator
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
CHECKERBOARD, |
GRID |
|
int |
var4 |
|
int |
var4 |
|
int |
var5 |
|
boolean |
var6 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
Mode Mode() |
protected |
boolean |
skipboolean skip(SkipCellPointEvaluator.Mode var1, int var2, int var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic.cell.evaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.jitter.CellJitter;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.PointConsumer;
class="kw">import it.unimi.dsi.fastutil.HashCommon;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SkipCellPointEvaluator class="kw">implements PointEvaluator {
@Nonnull
class="kw">protected class="kw">final PointEvaluator pointEvaluator;
@Nonnull
class="kw">protected class="kw">final SkipCellPointEvaluator.Mode mode;
class="kw">protected class="kw">final int mask;
class="kw">protected class="kw">final int mid;
class="kw">public class="kw">static class="kw">final int DEFAULT_NO_SKIP = 0;
class="kw">public class="kw">static class="kw">final SkipCellPointEvaluator.Mode DEFAULT_MODE = SkipCellPointEvaluator.Mode.CHECKERBOARD;
class="kw">public SkipCellPointEvaluator(@Nonnull PointEvaluator var1, @Nonnull SkipCellPointEvaluator.Mode var2, int var3) {
int var4 = HashCommon.nextPowerOfTwo(Math.max(0, var3) + 1);
this.pointEvaluator = var1;
this.mode = var2;
this.mask = var4 - 1;
this.mid = var4 >> 1;
}
@Override
class="kw">public CellJitter getJitter() {
class="kw">return this.pointEvaluator.getJitter();
}
@Override
class="kw">public void evalPoint(int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, ResultBuffer.ResultBuffer2d var13) {
if (!this.skip(this.mode, var7, var8)) {
this.pointEvaluator.evalPoint(var1, var2, var4, var6, var7, var8, var9, var11, var13);
}
}
@Override
class="kw">public void evalPoint2(int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, ResultBuffer.ResultBuffer2d var13) {
if (!this.skip(this.mode, var7, var8)) {
this.pointEvaluator.evalPoint2(var1, var2, var4, var6, var7, var8, var9, var11, var13);
}
}
@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,
ResultBuffer.ResultBuffer3d var18
) {
}
@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,
ResultBuffer.ResultBuffer3d var18
) {
}
@Override
class="kw">public <T> void collectPoint(int var1, int var2, int var3, double var4, double var6, T var8, @Nonnull PointConsumer<T> var9) {
if (!this.skip(this.mode, var2, var3)) {
this.pointEvaluator.collectPoint(var1, var2, var3, var4, var6, var8, var9);
}
}
class="kw">protected boolean skip(SkipCellPointEvaluator.Mode var1, int var2, int var3) {
int var4 = var2 & this.mask;
int var5 = var3 & this.mask;
boolean var6 = var4 == 0 && var5 == 0 || var1 == SkipCellPointEvaluator.Mode.CHECKERBOARD && var4 == this.mid && var5 == this.mid;
class="kw">return !var6;
}
class="kw">public enum Mode {
CHECKERBOARD,
GRID;
Mode() {
}
}
}