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;
}
}