BlockCylinderUtil class

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

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

Поля (37)

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

Методы (23)

МодификаторыВозвратСигнатура
for for(int var18 = -var3; var18 <= var11; var18++)
for for(int var27 = var25; var27 <= var26; var27++)
for for(int var28 = var13 - 1; var28 >= 0; var28--)
for for(int var26 = var15 - 1; var26 >= 0; var26--)
for for(int var28 = -var3; var28 <= var13; var28++)
for for(int var42 = var35; var42 <= var36; var42++)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, 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, 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, T var7, @Nonnull TriIntObjPredicate<T> var8)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7, 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, 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, var6, false, var7, var8)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, var6, var7, false, false, var8, var9)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9, var10, var11)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var6 < 1)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var35 <= var36)

Исходный код

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

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

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

   class="kw">public class="kw">static <T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, 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, 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;
      int var11 = var6 ? var3 - 1 : var3;
      int var12 = var6 ? var5 - 1 : var5;
      int var13 = var4;
      float var14 = var3 + 0.41F;
      float var15 = var5 + 0.41F;
      double var16 = 1.0 / (var14 * var14);

      for (int var18 = -var3; var18 <= var11; var18++) {
         double var19 = var18 + var10;
         double var21 = 1.0 - var19 * var19 * var16;
         if (!(var21 < 0.0)) {
            double var23 = Math.sqrt(var21) * var15;
            int var25 = (int)Math.ceil(-var23 - var10);
            int var26 = (int)(var23 - var10);
            var25 = Math.max(var25, -var5);
            var26 = Math.min(var26, var12);

            for (int var27 = var25; var27 <= var26; var27++) {
               for (int var28 = var13 - 1; var28 >= 0; var28--) {
                  if (!var9.test(var0 + var18, var1 + var28, var2 + var27, 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, T var7, @Nonnull TriIntObjPredicate<T> var8) {
      class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, var6, false, var7, var8);
   }

   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, T var8, @Nonnull TriIntObjPredicate<T> var9
   ) {
      class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, var6, var7, false, false, var8, var9);
   }

   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,
      T var10,
      @Nonnull TriIntObjPredicate<T> var11
   ) {
      if (var6 < 1) {
         class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9, var10, var11);
      }

      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 var12 = var8 ? 0.5F : 0.0F;
      int var13 = var8 ? var3 - 1 : var3;
      int var14 = var8 ? var5 - 1 : var5;
      int var15 = var4;
      float var16 = var3 + 0.41F;
      float var17 = var5 + 0.41F;
      float var18 = var16 - var6;
      float var19 = var17 - var6;
      if (!(var18 <= 0.0F) && !(var19 <= 0.0F)) {
         double var20 = 1.0 / (var16 * var16);
         double var22 = 1.0 / (var18 * var18);
         int var24 = var6;
         int var25 = var15 - var6;

         for (int var26 = var15 - 1; var26 >= 0; var26--) {
            boolean var27 = var7 && (var26 < var24 || var26 > var25);

            for (int var28 = -var3; var28 <= var13; var28++) {
               double var29 = var28 + var12;
               double var31 = 1.0 - var29 * var29 * var20;
               if (!(var31 < 0.0)) {
                  double var33 = Math.sqrt(var31) * var17;
                  int var35 = (int)Math.ceil(-var33 - var12);
                  int var36 = (int)(var33 - var12);
                  var35 = Math.max(var35, -var5);
                  var36 = Math.min(var36, var14);
                  if (var35 <= var36) {
                     double var37 = 1.0 - var29 * var29 * var22;
                     double var39 = var37 > 0.0 ? Math.sqrt(var37) * var19 : 0.0;
                     int var41 = !var27 && !(var39 <= 0.0) ? MathUtil.ceil(var39 - var12) : 0;

                     for (int var42 = var35; var42 <= var36; var42++) {
                        if ((var27 || !(var39 > 0.0) || Math.abs(var42) >= var41) && !var11.test(var0 + var28, var1 + var26, var2 + var42, var10)) {
                           class="kw">return false;
                        }
                     }
                  }
               }
            }
         }

         class="kw">return true;
      } else {
         class="kw">return forEachBlock(var0, var1, var2, var3, var4, var5, var8, var9, var10, var11);
      }
   }
}