BlockDiamondUtil class

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

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

Поля (24)

МодификаторыТипИмя
float var10
float var10
float var11
float var11
int var12
int var13
float var13
int var14
float var14
float var15
float var15
float var16
float var16
float var17
float var18
int var18
float var19
int var19
float var20
float var21
boolean var22
float var23
boolean var23
float var25

Методы (23)

МодификаторыВозвратСигнатура
for for(int var17 = -var4; var17 <= var14; var17++)
for for(int var22 = -var3; var22 <= var12; var22++)
for for(int var24 = -var5; var24 <= var13; var24++)
for for(int var12 = 0; var12 <= var4; var12++)
for for(int var20 = 0; var20 <= var18; var20++)
for for(int var21 = 0; var21 <= var19; var21++)
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(var6 < 1)
if if(var3 <= 0)
if if(var4 <= 0)
if if(var5 <= 0)
if if(var22)
if if(var3 > 0)
if if(var5 > 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 BlockDiamondUtil {
   class="kw">public BlockDiamondUtil() {
   }

   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 = var7 ? var4 - 1 : var4;
      float var15 = var3 + 0.41F;
      float var16 = var5 + 0.41F;

      for (int var17 = -var4; var17 <= var14; var17++) {
         float var18 = var17 + var11;
         float var19 = Math.abs(var18) / var4;
         float var20 = var15 * (1.0F - var19);
         float var21 = var16 * (1.0F - var19);

         for (int var22 = -var3; var22 <= var12; var22++) {
            float var23 = var22 + var10;
            if (!(Math.abs(var23) > var20)) {
               for (int var24 = -var5; var24 <= var13; var24++) {
                  float var25 = var24 + var10;
                  if (Math.abs(var25) <= var21 && !var9.test(var0 + var22, var1 + var17, var2 + var24, 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 = var5 + 0.41F;

      for (int var12 = 0; var12 <= var4; var12++) {
         float var13 = (float)var12 / var4;
         float var14 = var10 * (1.0F - var13);
         float var15 = var11 * (1.0F - var13);
         float var16 = Math.max(0.0F, var14 - var6);
         float var17 = Math.max(0.0F, var15 - var6);
         int var18 = (int)var14;
         int var19 = (int)var15;

         for (int var20 = 0; var20 <= var18; var20++) {
            for (int var21 = 0; var21 <= var19; var21++) {
               boolean var22 = Math.abs(var20) <= var14 && Math.abs(var21) <= var15;
               if (var22) {
                  boolean var23 = Math.abs(var20) < var16 && Math.abs(var21) < var17;
                  if (!var23 && !test(var0, var1, var2, var20, var12, var21, var8, var9)) {
                     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,
      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 (var4 > 0 && !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 (var5 > 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;
         }
      }

      class="kw">return true;
   }
}