Mode enum

Пакет: com.hypixel.hytale.procedurallib.logic.cell.evaluator

Файл: com/hypixel/hytale/procedurallib/logic/cell/evaluator/SkipCellPointEvaluator.java

Поля (1)

МодификаторыТипИмя
CHECKERBOARD, GRID

Исходный код

Показать/скрыть
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() {
      }
   }
}