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() {
      }
   }
}