Sample class
Пакет: com.hypixel.hytale.builtin.buildertools.utils
Файл: com/hypixel/hytale/builtin/buildertools/utils/Sample.java
Поля (30)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int[] |
BLOCK_TEXTURE_KERNEL |
|
int |
var1 |
|
|
var1 |
|
int |
var10 |
|
Int2IntOpenHashMap |
var10 |
|
int |
var11 |
|
int |
var11 |
|
int |
var12 |
|
int |
var12 |
|
int |
var13 |
|
int |
var14 |
|
int |
var17 |
|
int |
var18 |
|
int |
var19 |
|
int |
var2 |
|
|
var2 |
|
int |
var20 |
|
int |
var21 |
|
int |
var22 |
|
int |
var23 |
|
double |
var24 |
|
int |
var25 |
|
ObjectIterator |
var3 |
|
Entry |
var4 |
|
Int2IntOpenHashMap |
var5 |
|
int |
var5 |
|
int |
var6 |
|
int |
var6 |
|
int |
var7 |
|
int |
var9 |
Методы (23)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
record |
Result2Drecord Result2D(double deltaHeight, int sampledBlock, int currentHeight, int originalBlock) |
public |
record |
Result3Drecord Result3D(int airWeight, int sampledBlock, int originalBlock) |
static |
Sample.Result2D |
calcDeltaHeightsSample.Result2D calcDeltaHeights(int var0, int var1, int var2, int[][] var3, int[][][] var4, int[] var5, int var6, int var7, boolean var8) |
static |
Sample.Result3D |
calculate3DSample.Result3D calculate3D(int var0, int var1, int var2, int[][][] var3, int[] var4) |
static |
int |
calculateAirWeight3Dint calculateAirWeight3D(int var0, int var1, int var2, int[][][] var3, int[] var4) |
|
|
for for(int var8 = -1; var8 <= 1; var8++) |
|
|
for for(int var9 = -1; var9 <= 1; var9++) |
|
|
for for(int var10 = -1; var10 <= 1; var10++) |
|
|
for for(int var7 = -1; var7 <= 1; var7++) |
|
|
for for(int var8 = -1; var8 <= 1; var8++) |
|
|
for for(int var9 = -1; var9 <= 1; var9++) |
|
|
for for(int var15 = -2; var15 <= 2; var15++) |
|
|
for for(int var16 = -2; var16 <= 2; var16++) |
|
|
if if(var11 != 0) |
|
|
if if(var12 <= 0) |
|
|
if if(var10 != 0 && var3[var0 + var7][var1 + var8][var2 + var9] <= 0) |
|
|
if if(var9 == -1) |
|
|
if if(var19 != 0) |
|
|
if if(var20 == -1) |
|
|
if if(var10 != null) |
|
|
if if(var21 >= 0 && var21 < var11) |
|
|
if if(var22 > 0) |
static |
int |
sampleEntriesint sampleEntries(Int2IntOpenHashMap var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.utils;
class="kw">import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2IntMap.Entry;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectIterator;
class="kw">public class Sample {
class="kw">private class="kw">static class="kw">final int[] BLOCK_TEXTURE_KERNEL = new int[]{0, 1, 0, 1, 3, 1, 0, 1, 0, 1, 3, 1, 3, 4, 3, 1, 3, 1, 0, 1, 0, 1, 3, 1, 0, 1, 0};
class="kw">public Sample() {
}
class="kw">public class="kw">static Sample.Result3D calculate3D(int var0, int var1, int var2, int[][][] var3, int[] var4) {
Int2IntOpenHashMap var5 = new Int2IntOpenHashMap();
int var6 = 0;
int var7 = 0;
for (int var8 = -1; var8 <= 1; var8++) {
for (int var9 = -1; var9 <= 1; var9++) {
for (int var10 = -1; var10 <= 1; var10++) {
int var11 = var4[var7];
var7++;
if (var11 != 0) {
int var12 = var3[var0 + var8][var1 + var9][var2 + var10];
if (var12 <= 0) {
var6 += var11;
} else {
var5.addTo(var12, BLOCK_TEXTURE_KERNEL[var7 - 1]);
}
}
}
}
}
class="kw">return new Sample.Result3D(var6, sampleEntries(var5), var3[var0][var1][var2]);
}
class="kw">public class="kw">static int calculateAirWeight3D(int var0, int var1, int var2, int[][][] var3, int[] var4) {
int var5 = 0;
int var6 = 0;
for (int var7 = -1; var7 <= 1; var7++) {
for (int var8 = -1; var8 <= 1; var8++) {
for (int var9 = -1; var9 <= 1; var9++) {
int var10 = var4[var6++];
if (var10 != 0 && var3[var0 + var7][var1 + var8][var2 + var9] <= 0) {
var5 += var10;
}
}
}
}
class="kw">return var5;
}
class="kw">public class="kw">static Sample.Result2D calcDeltaHeights(int var0, int var1, int var2, int[][] var3, int[][][] var4, int[] var5, int var6, int var7, boolean var8) {
int var9 = var3[var0][var2];
if (var9 == -1) {
class="kw">return new Sample.Result2D(0.0, 0, -1, 0);
}
Int2IntOpenHashMap var10 = var8 ? new Int2IntOpenHashMap() : null;
int var11 = var4[0].length;
int var12 = 0;
int var13 = 0;
int var14 = 0;
for (int var15 = -2; var15 <= 2; var15++) {
for (int var16 = -2; var16 <= 2; var16++) {
int var17 = var0 + var15;
int var18 = var2 + var16;
int var19 = var5[var14++];
if (var19 != 0) {
int var20 = var3[var17][var18];
if (var20 == -1) {
var13 += var19;
} else {
if (var10 != null) {
int var21 = var20 - var7 + var11 / 2;
if (var21 >= 0 && var21 < var11) {
int var22 = var4[var17][var21][var18];
if (var22 > 0) {
var10.addTo(var22, var19);
}
}
}
var12 += var19 * var20;
}
}
}
}
int var23 = var6 - var13;
double var24 = var23 > 0 ? (double)var12 / var23 - var9 : 0.0;
int var25 = var10 != null ? sampleEntries(var10) : 0;
class="kw">return new Sample.Result2D(var24, var25, var9, var4[var0][var1][var2]);
}
class="kw">private class="kw">static int sampleEntries(Int2IntOpenHashMap var0) {
int var1 = 0;
int var2 = 0;
ObjectIterator var3 = var0.int2IntEntrySet().iterator();
while (var3.hasNext()) {
Entry var4 = (Entry)var3.next();
if (var4.getIntValue() > var2) {
var2 = var4.getIntValue();
var1 = var4.getIntKey();
}
}
class="kw">return var1;
}
class="kw">public record Result2D(double deltaHeight, int sampledBlock, int currentHeight, int originalBlock) {
class="kw">public Result2D {
}
}
class="kw">public record Result3D(int airWeight, int sampledBlock, int originalBlock) {
class="kw">public Result3D {
}
}
}