GridCellDistanceFunction class

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

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

implements: CellDistanceFunction

Поля (28)

МодификаторыТипИмя
final GridCellDistanceFunction DISTANCE_FUNCTION
int var10
int var10
DoubleArray.Double2 var11
DoubleArray.Double2 var11
CellJitter var11
CellJitter var12
CellJitter var12
double var13
int var13
double var13
int var13
DoubleArray.Double3 var14
DoubleArray.Double3 var14
int var14
double var15
CellJitter var15
double var15
CellJitter var15
DoubleArray.Double2 var15
double var16
double var16
double var16
double var18
double var18
double var18
double var20
double var20

Методы (18)

МодификаторыВозвратСигнатура
for for(int var10 = var7 - 1; var10 <= var7 + 1; var10++)
for for(int var11 = var6 - 1; var11 <= var6 + 1; var11++)
for for(int var13 = var8 - 1; var13 <= var8 + 1; var13++)
for for(int var14 = var9 - 1; var14 <= var9 + 1; var14++)
for for(int var15 = var10 - 1; var15 <= var10 + 1; var15++)
for for(int var10 = var7 - 1; var10 <= var7 + 1; var10++)
for for(int var11 = var6 - 1; var11 <= var6 + 1; var11++)
for for(int var13 = var8 - 1; var13 <= var8 + 1; var13++)
for for(int var14 = var9 - 1; var14 <= var9 + 1; var14++)
for for(int var15 = var10 - 1; var15 <= var10 + 1; var15++)
for for(int var12 = var4; var12 <= var6; var12++)
for for(int var13 = var3; var13 <= var5; var13++)
public int getHashpublic int getHash(int var1, int var2, int var3)
static int getHashint getHash(int var0, int var1, int var2)
static int getHashint getHash(int var0, int var1, int var2, int var3)
public DoubleArray.Double2 getOffsetspublic DoubleArray.Double2 getOffsets(int var1)
public double getXpublic double getX(double var1, double var3)
public double getYpublic double getY(double var1, double var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic.cell;

class="kw">import com.hypixel.hytale.math.util.HashUtil;
class="kw">import com.hypixel.hytale.procedurallib.logic.CellularNoise;
class="kw">import com.hypixel.hytale.procedurallib.logic.DoubleArray;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.jitter.CellJitter;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.PointConsumer;
class="kw">import javax.annotation.Nonnull;

class="kw">public class GridCellDistanceFunction class="kw">implements CellDistanceFunction {
   class="kw">public class="kw">static class="kw">final GridCellDistanceFunction DISTANCE_FUNCTION = new GridCellDistanceFunction();
   class="kw">public class="kw">static class="kw">final CellPointFunction POINT_FUNCTION = new CellPointFunction() {
      @Override
      class="kw">public int getHash(int var1, int var2, int var3) {
         class="kw">return GridCellDistanceFunction.getHash(var1, var2, var3);
      }

      @Override
      class="kw">public DoubleArray.Double2 getOffsets(int var1) {
         class="kw">return CellularNoise.CELL_2D[var1 & 0xFF];
      }

      @Override
      class="kw">public double getX(double var1, double var3) {
         class="kw">return var1;
      }

      @Override
      class="kw">public double getY(double var1, double var3) {
         class="kw">return var3;
      }
   };

   class="kw">public GridCellDistanceFunction() {
   }

   @Override
   class="kw">public void nearest2D(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, @Nonnull PointEvaluator var9) {
      for (int var10 = var7 - 1; var10 <= var7 + 1; var10++) {
         for (int var11 = var6 - 1; var11 <= var6 + 1; var11++) {
            this.evalPoint(var1, var2, var4, var11, var10, var8, var9);
         }
      }
   }

   @Override
   class="kw">public void nearest3D(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, @Nonnull PointEvaluator var12
   ) {
      for (int var13 = var8 - 1; var13 <= var8 + 1; var13++) {
         for (int var14 = var9 - 1; var14 <= var9 + 1; var14++) {
            for (int var15 = var10 - 1; var15 <= var10 + 1; var15++) {
               this.evalPoint(var1, var2, var4, var6, var13, var14, var15, var11, var12);
            }
         }
      }
   }

   @Override
   class="kw">public void transition2D(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, @Nonnull PointEvaluator var9) {
      for (int var10 = var7 - 1; var10 <= var7 + 1; var10++) {
         for (int var11 = var6 - 1; var11 <= var6 + 1; var11++) {
            this.evalPoint2(var1, var2, var4, var11, var10, var8, var9);
         }
      }
   }

   @Override
   class="kw">public void transition3D(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, @Nonnull PointEvaluator var12
   ) {
      for (int var13 = var8 - 1; var13 <= var8 + 1; var13++) {
         for (int var14 = var9 - 1; var14 <= var9 + 1; var14++) {
            for (int var15 = var10 - 1; var15 <= var10 + 1; var15++) {
               this.evalPoint2(var1, var2, var4, var6, var13, var14, var15, var11, var12);
            }
         }
      }
   }

   @Override
   class="kw">public void evalPoint(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, @Nonnull PointEvaluator var9) {
      int var10 = getHash(var1, var6, var7);
      DoubleArray.Double2 var11 = CellularNoise.CELL_2D[var10 & 0xFF];
      CellJitter var12 = var9.getJitter();
      double var13 = var12.getPointX(var6, var11);
      double var15 = var12.getPointY(var7, var11);
      var9.evalPoint(var1, var2, var4, var10, var6, var7, var13, var15, var8);
   }

   @Override
   class="kw">public void evalPoint(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, @Nonnull PointEvaluator var12
   ) {
      int var13 = getHash(var1, var8, var9, var10);
      DoubleArray.Double3 var14 = CellularNoise.CELL_3D[var13 & 0xFF];
      CellJitter var15 = var12.getJitter();
      double var16 = var15.getPointX(var8, var14);
      double var18 = var15.getPointY(var9, var14);
      double var20 = var15.getPointZ(var10, var14);
      var12.evalPoint(var1, var2, var4, var6, var13, var8, var9, var10, var16, var18, var20, var11);
   }

   @Override
   class="kw">public void evalPoint2(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, @Nonnull PointEvaluator var9) {
      int var10 = getHash(var1, var6, var7);
      DoubleArray.Double2 var11 = CellularNoise.CELL_2D[var10 & 0xFF];
      CellJitter var12 = var9.getJitter();
      double var13 = var12.getPointX(var6, var11);
      double var15 = var12.getPointY(var7, var11);
      var9.evalPoint2(var1, var2, var4, var10, var6, var7, var13, var15, var8);
   }

   @Override
   class="kw">public void evalPoint2(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, @Nonnull PointEvaluator var12
   ) {
      int var13 = getHash(var1, var8, var9, var10);
      DoubleArray.Double3 var14 = CellularNoise.CELL_3D[var13 & 0xFF];
      CellJitter var15 = var12.getJitter();
      double var16 = var15.getPointX(var8, var14);
      double var18 = var15.getPointY(var9, var14);
      double var20 = var15.getPointZ(var10, var14);
      var12.evalPoint2(var1, var2, var4, var6, var13, var8, var9, var10, var16, var18, var20, var11);
   }

   @Override
   class="kw">public <T> void collect(
      int var1,
      int var2,
      int var3,
      int var4,
      int var5,
      int var6,
      ResultBuffer.Bounds2d var7,
      T var8,
      @Nonnull PointConsumer<T> var9,
      @Nonnull PointEvaluator var10
   ) {
      CellJitter var11 = var10.getJitter();

      for (int var12 = var4; var12 <= var6; var12++) {
         for (int var13 = var3; var13 <= var5; var13++) {
            int var14 = getHash(var2, var13, var12);
            DoubleArray.Double2 var15 = CellularNoise.CELL_2D[var14 & 0xFF];
            double var16 = var11.getPointX(var13, var15);
            double var18 = var11.getPointY(var12, var15);
            var10.collectPoint(var14, var13, var12, var16, var18, var8, var9);
         }
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "GridCellDistanceFunction{}";
   }

   class="kw">public class="kw">static int getHash(int var0, int var1, int var2) {
      class="kw">return (int)HashUtil.rehash(var0, var1, var2);
   }

   class="kw">public class="kw">static int getHash(int var0, int var1, int var2, int var3) {
      class="kw">return (int)HashUtil.rehash(var0, var1, var2, var3);
   }
}