BlockInvertedDomeUtil class

Пакет: com.hypixel.hytale.math.block

Файл: com/hypixel/hytale/math/block/BlockInvertedDomeUtil.java

Поля (48)

МодификаторыТипИмя
float var10
float var10
float var11
float var11
int var12
float var12
int var13
float var13
int var14
float var14
float var15
float var15
float var16
float var16
float var17
float var17
float var18
float var18
float var19
float var19
float var20
float var21
float var21
float var22
float var22
double var23
float var23
double var24
int var25
double var26
float var27
double var28
int var28
int var29
int var30
var30
float var30
int var31
var31
float var31
float var32
float var33
float var34
float var35
int var36
boolean var38
int var39
int var41

Методы (26)

МодификаторыВозвратСигнатура
for for(int var20 = -var3; var20 <= var12; var20++)
for for(int var26 = 0; var26 <= var25; var26++)
for for(int var32 = var30; var32 <= var31; var32++)
for for(int var37 = 1; var36 < var4; var37++)
for for(int var40 = 1; var39 <= var28; var40++)
for for(int var42 = 1; var41 <= var29; var42++)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, @Nullable T var6, @Nonnull TriIntObjPredicate<T> var7)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, boolean var6, boolean var7, @Nullable T var8, @Nonnull TriIntObjPredicate<T> var9)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7, @Nullable T var8, @Nonnull TriIntObjPredicate<T> var9)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7, boolean var8, boolean var9, @Nullable T var10, @Nonnull TriIntObjPredicate<T> var11)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, false, false, var6, var7)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var30 < -var5)
if if(var31 > var13)
if if(var6 < 1)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var38)
if if(var30 + var31 + var32 < 1.0F)
if if(var33 + var34 + var35 < 1.0F)
if if(var3 > 0)
static <T> boolean test<T> boolean test(int var0, int var1, int var2, int var3, int var4, int var5, T var6, @Nonnull TriIntObjPredicate<T> var7)

Исходный код

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

class="kw">import com.hypixel.hytale.function.predicate.TriIntObjPredicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

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

   class="kw">public class="kw">static <T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, @Nullable T var6, @Nonnull TriIntObjPredicate<T> var7) {
      class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, false, false, var6, var7);
   }

   class="kw">public class="kw">static <T> boolean forEachBlock(
      int var0, int var1, int var2, int var3, int var4, int var5, boolean var6, boolean var7, @Nullable T var8, @Nonnull TriIntObjPredicate<T> var9
   ) {
      if (var3 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var3));
      }

      if (var4 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var4));
      }

      if (var5 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var5));
      }

      float var10 = var6 ? 0.5F : 0.0F;
      float var11 = var7 ? 0.5F : 0.0F;
      int var12 = var6 ? var3 - 1 : var3;
      int var13 = var6 ? var5 - 1 : var5;
      int var14 = var4 - 1;
      float var15 = var3 + 0.41F;
      float var16 = var4 + 0.41F;
      float var17 = var5 + 0.41F;
      float var18 = 1.0F / (var15 * var15);
      float var19 = 1.0F / (var16 * var16);

      for (int var20 = -var3; var20 <= var12; var20++) {
         float var21 = var20 + var10;
         float var22 = 1.0F - var21 * var21 * var18;
         if (!(var22 < 0.0F)) {
            double var23 = Math.sqrt(var22) * var16;
            int var25 = Math.min(var14, (int)(var23 - var11));

            for (int var26 = 0; var26 <= var25; var26++) {
               float var27 = var26 + var11;
               double var28 = Math.sqrt(var22 - var27 * var27 * var19) * var17;
               int var30 = (int)Math.ceil(-var28 - var10);
               int var31 = (int)(var28 - var10);
               if (var30 < -var5) {
                  var30 = -var5;
               }

               if (var31 > var13) {
                  var31 = var13;
               }

               for (int var32 = var30; var32 <= var31; var32++) {
                  if (!var9.test(var0 + var20, var1 - var26, var2 + var32, var8)) {
                     class="kw">return false;
                  }
               }
            }
         }
      }

      class="kw">return true;
   }

   class="kw">public class="kw">static <T> boolean forEachBlock(
      int var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7, @Nullable T var8, @Nonnull TriIntObjPredicate<T> var9
   ) {
      if (var6 < 1) {
         class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9);
      }

      if (var3 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var3));
      }

      if (var4 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var4));
      }

      if (var5 <= 0) {
         throw new IllegalArgumentException(String.valueOf(var5));
      }

      float var10 = var3 + 0.41F;
      float var11 = var4 + 0.41F;
      float var12 = var5 + 0.41F;
      float var13 = var10 - var6;
      float var14 = var11 - var6;
      float var15 = var12 - var6;
      float var16 = 1.0F / (var10 * var10);
      float var17 = 1.0F / (var11 * var11);
      float var18 = 1.0F / (var12 * var12);
      float var19 = 1.0F / (var13 * var13);
      float var20 = 1.0F / (var14 * var14);
      float var21 = 1.0F / (var15 * var15);
      int var36 = 0;

      for (int var37 = 1; var36 < var4; var37++) {
         float var23 = var36 * var36 * var17;
         double var24 = Math.sqrt(1.0F - var23) * var10;
         int var28 = (int)var24;
         float var31 = var36 * var36 * var20;
         float var34 = var37 * var37 * var17;
         boolean var38 = var36 == 0 && var7;
         int var39 = 0;

         for (int var40 = 1; var39 <= var28; var40++) {
            float var22 = var39 * var39 * var16;
            double var26 = Math.sqrt(1.0F - var22 - var23) * var12;
            int var29 = (int)var26;
            float var30 = var39 * var39 * var19;
            float var33 = var40 * var40 * var16;
            int var41 = 0;

            for (int var42 = 1; var41 <= var29; var42++) {
               float var32 = var41 * var41 * var21;
               if (var38) {
                  if (!test(var0, var1, var2, var39, -var36, var41, var8, var9)) {
                     class="kw">return false;
                  }
               } else {
                  label60: {
                     if (var30 + var31 + var32 < 1.0F) {
                        float var35 = var42 * var42 * var18;
                        if (var33 + var34 + var35 < 1.0F) {
                           break label60;
                        }
                     }

                     if (!test(var0, var1, var2, var39, -var36, var41, var8, var9)) {
                        class="kw">return false;
                     }
                  }
               }

               var41++;
            }

            var39++;
         }

         var36++;
      }

      class="kw">return true;
   }

   class="kw">public class="kw">static <T> boolean forEachBlock(
      int var0,
      int var1,
      int var2,
      int var3,
      int var4,
      int var5,
      int var6,
      boolean var7,
      boolean var8,
      boolean var9,
      @Nullable T var10,
      @Nonnull TriIntObjPredicate<T> var11
   ) {
      class="kw">return !var8 && !var9
         ? forEachBlock(var0, var1, var2, var3, var4, var5, var6, var7, var10, var11)
         : forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9, var10, var11);
   }

   class="kw">private class="kw">static <T> boolean test(int var0, int var1, int var2, int var3, int var4, int var5, T var6, @Nonnull TriIntObjPredicate<T> var7) {
      if (!var7.test(var0 + var3, var1 + var4, var2 + var5, var6)) {
         class="kw">return false;
      }

      if (var3 > 0) {
         if (!var7.test(var0 - var3, var1 + var4, var2 + var5, var6)) {
            class="kw">return false;
         }

         if (var5 > 0 && !var7.test(var0 - var3, var1 + var4, var2 - var5, var6)) {
            class="kw">return false;
         }
      }

      class="kw">return var5 > 0 ? var7.test(var0 + var3, var1 + var4, var2 - var5, var6) : true;
   }
}