Sample class

Пакет: com.hypixel.hytale.builtin.buildertools.utils

Файл: com/hypixel/hytale/builtin/buildertools/utils/Sample.java

Поля (30)

МодификаторыТипИмя
final int[] BLOCK_TEXTURE_KERNEL
int var1
var1
int var10
Int2IntOpenHashMap var10
int var11
int var11
int var12
int var12
int var13
int var14
int var17
int var18
int var19
int var2
var2
int var20
int var21
int var22
int var23
double var24
int var25
ObjectIterator var3
Entry var4
Int2IntOpenHashMap var5
int var5
int var6
int var6
int var7
int var9

Методы (23)

МодификаторыВозвратСигнатура
public record Result2Drecord Result2D(double deltaHeight, int sampledBlock, int currentHeight, int originalBlock)
public record Result3Drecord Result3D(int airWeight, int sampledBlock, int originalBlock)
static Sample.Result2D calcDeltaHeightsSample.Result2D calcDeltaHeights(int var0, int var1, int var2, int[][] var3, int[][][] var4, int[] var5, int var6, int var7, boolean var8)
static Sample.Result3D calculate3DSample.Result3D calculate3D(int var0, int var1, int var2, int[][][] var3, int[] var4)
static int calculateAirWeight3Dint calculateAirWeight3D(int var0, int var1, int var2, int[][][] var3, int[] var4)
for for(int var8 = -1; var8 <= 1; var8++)
for for(int var9 = -1; var9 <= 1; var9++)
for for(int var10 = -1; var10 <= 1; var10++)
for for(int var7 = -1; var7 <= 1; var7++)
for for(int var8 = -1; var8 <= 1; var8++)
for for(int var9 = -1; var9 <= 1; var9++)
for for(int var15 = -2; var15 <= 2; var15++)
for for(int var16 = -2; var16 <= 2; var16++)
if if(var11 != 0)
if if(var12 <= 0)
if if(var10 != 0 && var3[var0 + var7][var1 + var8][var2 + var9] <= 0)
if if(var9 == -1)
if if(var19 != 0)
if if(var20 == -1)
if if(var10 != null)
if if(var21 >= 0 && var21 < var11)
if if(var22 > 0)
static int sampleEntriesint sampleEntries(Int2IntOpenHashMap var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.utils;

class="kw">import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2IntMap.Entry;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectIterator;

class="kw">public class Sample {
   class="kw">private class="kw">static class="kw">final int[] BLOCK_TEXTURE_KERNEL = new int[]{0, 1, 0, 1, 3, 1, 0, 1, 0, 1, 3, 1, 3, 4, 3, 1, 3, 1, 0, 1, 0, 1, 3, 1, 0, 1, 0};

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

   class="kw">public class="kw">static Sample.Result3D calculate3D(int var0, int var1, int var2, int[][][] var3, int[] var4) {
      Int2IntOpenHashMap var5 = new Int2IntOpenHashMap();
      int var6 = 0;
      int var7 = 0;

      for (int var8 = -1; var8 <= 1; var8++) {
         for (int var9 = -1; var9 <= 1; var9++) {
            for (int var10 = -1; var10 <= 1; var10++) {
               int var11 = var4[var7];
               var7++;
               if (var11 != 0) {
                  int var12 = var3[var0 + var8][var1 + var9][var2 + var10];
                  if (var12 <= 0) {
                     var6 += var11;
                  } else {
                     var5.addTo(var12, BLOCK_TEXTURE_KERNEL[var7 - 1]);
                  }
               }
            }
         }
      }

      class="kw">return new Sample.Result3D(var6, sampleEntries(var5), var3[var0][var1][var2]);
   }

   class="kw">public class="kw">static int calculateAirWeight3D(int var0, int var1, int var2, int[][][] var3, int[] var4) {
      int var5 = 0;
      int var6 = 0;

      for (int var7 = -1; var7 <= 1; var7++) {
         for (int var8 = -1; var8 <= 1; var8++) {
            for (int var9 = -1; var9 <= 1; var9++) {
               int var10 = var4[var6++];
               if (var10 != 0 && var3[var0 + var7][var1 + var8][var2 + var9] <= 0) {
                  var5 += var10;
               }
            }
         }
      }

      class="kw">return var5;
   }

   class="kw">public class="kw">static Sample.Result2D calcDeltaHeights(int var0, int var1, int var2, int[][] var3, int[][][] var4, int[] var5, int var6, int var7, boolean var8) {
      int var9 = var3[var0][var2];
      if (var9 == -1) {
         class="kw">return new Sample.Result2D(0.0, 0, -1, 0);
      }

      Int2IntOpenHashMap var10 = var8 ? new Int2IntOpenHashMap() : null;
      int var11 = var4[0].length;
      int var12 = 0;
      int var13 = 0;
      int var14 = 0;

      for (int var15 = -2; var15 <= 2; var15++) {
         for (int var16 = -2; var16 <= 2; var16++) {
            int var17 = var0 + var15;
            int var18 = var2 + var16;
            int var19 = var5[var14++];
            if (var19 != 0) {
               int var20 = var3[var17][var18];
               if (var20 == -1) {
                  var13 += var19;
               } else {
                  if (var10 != null) {
                     int var21 = var20 - var7 + var11 / 2;
                     if (var21 >= 0 && var21 < var11) {
                        int var22 = var4[var17][var21][var18];
                        if (var22 > 0) {
                           var10.addTo(var22, var19);
                        }
                     }
                  }

                  var12 += var19 * var20;
               }
            }
         }
      }

      int var23 = var6 - var13;
      double var24 = var23 > 0 ? (double)var12 / var23 - var9 : 0.0;
      int var25 = var10 != null ? sampleEntries(var10) : 0;
      class="kw">return new Sample.Result2D(var24, var25, var9, var4[var0][var1][var2]);
   }

   class="kw">private class="kw">static int sampleEntries(Int2IntOpenHashMap var0) {
      int var1 = 0;
      int var2 = 0;
      ObjectIterator var3 = var0.int2IntEntrySet().iterator();

      while (var3.hasNext()) {
         Entry var4 = (Entry)var3.next();
         if (var4.getIntValue() > var2) {
            var2 = var4.getIntValue();
            var1 = var4.getIntKey();
         }
      }

      class="kw">return var1;
   }

   class="kw">public record Result2D(double deltaHeight, int sampledBlock, int currentHeight, int originalBlock) {
      class="kw">public Result2D {
      }
   }

   class="kw">public record Result3D(int airWeight, int sampledBlock, int originalBlock) {
      class="kw">public Result3D {
      }
   }
}