BlockDomeUtil class
Пакет: com.hypixel.hytale.math.block
Файл: com/hypixel/hytale/math/block/BlockDomeUtil.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 BlockDomeUtil {
class="kw">public BlockDomeUtil() {
}
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;
}
}