BlockSphereUtil class

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

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

Поля (77)

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

Методы (36)

МодификаторыВозвратСигнатура
for for(int var22 = -var7; var22 <= var7; var22++)
for for(int var23 = var19; var23 >= var18; var23--)
for for(int var24 = var20; var24 <= var21; var24++)
for for(int var23 = var12; var23 <= var13; var23++)
for for(int var30 = var28; var30 <= var29; var30++)
for for(int var37 = var35; var37 <= var36; var37++)
for for(int var33 = var13; var33 <= var14; var33++)
for for(int var40 = var38; var40 <= var39; var40++)
for for(int var47 = var45; var47 <= var46; var47++)
static <T> void forEachBlock<T> void forEachBlock(int var0, int var1, int var2, int var3, @Nullable T var4, @Nonnull TriIntObjPredicate<T> var5)
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> void forEachBlock<T> void forEachBlock(int var0, int var1, int var2, int var3, int var4, @Nullable T var5, @Nonnull TriIntObjPredicate<T> var6)
static <T> boolean forEachBlock<T> boolean forEachBlock(int var0, int var1, int var2, int var3, int var4, int var5, int var6, @Nullable 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, boolean var8, @Nullable T var9, @Nonnull TriIntObjPredicate<T> var10)
abstract forEachBlock forEachBlock(var0, var1, var2, var3, var3, var3, var4, var5)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, false, false, var6, var7)
abstract forEachBlock forEachBlock(var0, var1, var2, var3, var3, var3, var4, var5, var6)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, var6, false, false, var7, var8)
abstract return forEachBlockreturn forEachBlock(var0, var1, var2, var3, var4, var5, var7, var8, var9, var10)
static <T> void forEachBlockExact<T> void forEachBlockExact(int var0, int var1, int var2, double var3, @Nullable T var5, @Nonnull TriIntObjPredicate<T> var6)
if if(var3 <= 0.0)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var28 <= var29)
if if(var35 <= var36)
if if(var6 < 1)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var38 <= var39)
if if(var45 <= var46)
if if(var3 > 0)
if if(var4 > 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 com.hypixel.hytale.math.util.MathUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

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

   class="kw">public class="kw">static <T> void forEachBlockExact(int var0, int var1, int var2, double var3, @Nullable T var5, @Nonnull TriIntObjPredicate<T> var6) {
      if (var3 <= 0.0) {
         throw new IllegalArgumentException(String.valueOf(var3));
      }

      int var7 = MathUtil.ceil(var3);
      double var8 = 1.0 / (var7 * var7);
      double var10 = 1.0 / (var7 * var7);

      for (int var22 = -var7; var22 <= var7; var22++) {
         double var12 = 1.0 - var22 * var22 * var8;
         double var14 = Math.sqrt(var12) * var7;
         int var19;
         int var18 = -(var19 = (int)var14);

         for (int var23 = var19; var23 >= var18; var23--) {
            double var16 = Math.sqrt(var12 - var23 * var23 * var10) * var7;
            int var21;
            int var20 = -(var21 = (int)var16);

            for (int var24 = var20; var24 <= var21; var24++) {
               if (!var6.test(var0 + var22, var1 + var23, var2 + var24, var5)) {
                  class="kw">return;
               }
            }
         }
      }
   }

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

   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 = -var3;
      int var13 = var6 ? var3 - 1 : var3;
      int var14 = -var4;
      int var15 = var7 ? var4 - 1 : var4;
      int var16 = -var5;
      int var17 = var6 ? var5 - 1 : var5;
      float var18 = var3 + 0.41F;
      float var19 = var4 + 0.41F;
      float var20 = var5 + 0.41F;
      float var21 = 1.0F / (var18 * var18);
      float var22 = 1.0F / (var19 * var19);

      for (int var23 = var12; var23 <= var13; var23++) {
         float var24 = var23 + var10;
         float var25 = 1.0F - var24 * var24 * var21;
         if (!(var25 < 0.0F)) {
            double var26 = Math.sqrt(var25) * var19;
            int var28 = MathUtil.ceil(-var26 - var11);
            int var29 = (int)(var26 - var11);
            var28 = Math.max(var28, var14);
            var29 = Math.min(var29, var15);
            if (var28 <= var29) {
               for (int var30 = var28; var30 <= var29; var30++) {
                  float var31 = var30 + var11;
                  float var32 = var25 - var31 * var31 * var22;
                  if (!(var32 < 0.0F)) {
                     double var33 = Math.sqrt(var32) * var20;
                     int var35 = MathUtil.ceil(-var33 - var10);
                     int var36 = (int)(var33 - var10);
                     var35 = Math.max(var35, var16);
                     var36 = Math.min(var36, var17);
                     if (var35 <= var36) {
                        for (int var37 = var35; var37 <= var36; var37++) {
                           if (!var9.test(var0 + var23, var1 + var30, var2 + var37, var8)) {
                              class="kw">return false;
                           }
                        }
                     }
                  }
               }
            }
         }
      }

      class="kw">return true;
   }

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

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

      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 var11 = var7 ? 0.5F : 0.0F;
      float var12 = var8 ? 0.5F : 0.0F;
      int var13 = -var3;
      int var14 = var7 ? var3 - 1 : var3;
      int var15 = -var4;
      int var16 = var8 ? var4 - 1 : var4;
      int var17 = -var5;
      int var18 = var7 ? var5 - 1 : var5;
      float var19 = var3 + 0.41F;
      float var20 = var4 + 0.41F;
      float var21 = var5 + 0.41F;
      float var22 = var19 - var6;
      float var23 = var20 - var6;
      float var24 = var21 - var6;
      float var25 = 1.0F / (var19 * var19);
      float var26 = 1.0F / (var20 * var20);
      float var27 = 1.0F / (var21 * var21);
      float var28 = 1.0F / (var22 * var22);
      float var29 = 1.0F / (var23 * var23);
      float var30 = 1.0F / (var24 * var24);
      float var31 = var25;
      float var32 = var26;

      for (int var33 = var13; var33 <= var14; var33++) {
         float var34 = var33 + var11;
         float var35 = 1.0F - var34 * var34 * var31;
         if (!(var35 < 0.0F)) {
            double var36 = Math.sqrt(var35) * var20;
            int var38 = MathUtil.ceil(-var36 - var12);
            int var39 = (int)(var36 - var12);
            var38 = Math.max(var38, var15);
            var39 = Math.min(var39, var16);
            if (var38 <= var39) {
               for (int var40 = var38; var40 <= var39; var40++) {
                  float var41 = var40 + var12;
                  float var42 = var35 - var41 * var41 * var32;
                  if (!(var42 < 0.0F)) {
                     double var43 = Math.sqrt(var42) * var21;
                     int var45 = MathUtil.ceil(-var43 - var11);
                     int var46 = (int)(var43 - var11);
                     var45 = Math.max(var45, var17);
                     var46 = Math.min(var46, var18);
                     if (var45 <= var46) {
                        for (int var47 = var45; var47 <= var46; var47++) {
                           float var48 = var47 + var11;
                           float var49 = var34 * var34 * var25 + var41 * var41 * var26 + var48 * var48 * var27;
                           if (!(var49 > 1.0F)) {
                              float var50 = var34 * var34 * var28 + var41 * var41 * var29 + var48 * var48 * var30;
                              if (!(var50 < 1.0F) && !var10.test(var0 + var33, var1 + var40, var2 + var47, var9)) {
                                 class="kw">return false;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }

      class="kw">return true;
   }

   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 (var4 > 0 && !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;
         }

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

      if (var4 > 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;
   }
}