package defpackage; import it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry; import java.util.ArrayList; import java.util.Iterator; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.MapColor; public final class akx { private static final int NEUTRAL_COLOR = 10395294; private final String name; private final int sizeX; private final int sizeY; private final int sizeZ; private final BlockState[] palette; private final Item[] paletteItems; private final int[] paletteColors; private final int[] indices; private final int blockCount; private final Object2IntMap requiredMaterials; private final int unknownStates; private final String unknownExample; public akx(String var1, int var2, int var3, int var4, BlockState[] var5, int[] var6, int var7, String var8) { this.name = var1; this.sizeX = var2; this.sizeY = var3; this.sizeZ = var4; this.palette = var5; this.indices = var6; this.unknownStates = var7; this.unknownExample = var8; this.paletteItems = new Item[var5.length]; this.paletteColors = new int[var5.length]; for (int var9 = 0; var9 < var5.length; var9++) { BlockState var10 = var5[var9]; this.paletteItems[var9] = var10.isAir() ? Items.AIR : var10.getBlock().asItem(); MapColor var11 = var10.getBlock().defaultMapColor(); this.paletteColors[var9] = var11 == MapColor.NONE ? 10395294: var11.col; } Object2IntOpenHashMap var16 = new Object2IntOpenHashMap(); int var17 = 0; int[] var18 = var6; int var12 = var18.length; for (int var13 = 0; var13 < var12; var13++) { int var14 = var18[var13]; if (!var5[var14].isAir()) { var17++; Item var15 = this.paletteItems[var14]; if (var15 != Items.AIR) { var16.addTo(var15, (424090723 | -424090722) + (424090723 & -424090722)); } } } this.blockCount = var17; this.requiredMaterials = sortDescending(var16); } public int volume() { return this.sizeX * this.sizeY * this.sizeZ; } public boolean contains(int var1, int var2, int var3) { int var5 = 0; int var4 = 1251298562; while (true) { switch (var4) { case -1478241639: if (var3 >= 0) { var4 = -327847015; } else { var4 = 1354835481; } break; case -327847015: if (var1 < this.sizeX) { var4 = 1099860839; } else { var4 = 1354835481; } break; case -117710030: return (boolean)((var5) != 0); case 975634667: if (var2 >= 0) { var4 = -1478241639; } else { var4 = 1354835481; } break; case 1099860839: if (var2 < this.sizeY) { var4 = 1826842645; } else { var4 = 1354835481; } break; case 1251298562: default: if (var1 >= 0) { var4 = 975634667; } else { var4 = 1354835481; } break; case 1354835481: var5 = 0; var4 = -117710030; break; case 1549887427: var5 = 1; var4 = -117710030; break; case 1826842645: if (var3 < this.sizeZ) { var4 = 1549887427; } else { var4 = 1354835481; } } } } public int paletteIndex(int var1, int var2, int var3) { return this.indices[(var2 * this.sizeZ + var3) * this.sizeX + var1]; } public BlockState state(int var1, int var2, int var3) { return this.palette[this.paletteIndex(var1, var2, var3)]; } public static Object2IntMap sortDescending(Object2IntMap var0) { ArrayList var1 = null; Object2IntLinkedOpenHashMap var2 = null; Iterator var3 = null; Entry var4 = null; int var5 = -1936510821; while (true) { switch (var5) { case -1936510821: default: var1 = new ArrayList(var0.object2IntEntrySet()); var1.sort((var0x, var1x) -> Integer.compare(var1x.getIntValue(), var0x.getIntValue())); var2 = new Object2IntLinkedOpenHashMap(var1.size()); var3 = var1.iterator(); var5 = 1834889623; break; case -850676463: return var2; case 1333752312: var4 = (Entry)var3.next(); var2.put((Item)var4.getKey(), var4.getIntValue()); var5 = 1834889623; break; case 1834889623: if (var3.hasNext()) { var5 = 1333752312; } else { var5 = -850676463; } } } } public String getName() { return this.name; } public int getSizeX() { return this.sizeX; } public int getSizeY() { return this.sizeY; } public int getSizeZ() { return this.sizeZ; } public BlockState[] getPalette() { return this.palette; } public Item[] getPaletteItems() { return this.paletteItems; } public int[] getPaletteColors() { return this.paletteColors; } public int[] getIndices() { return this.indices; } public int getBlockCount() { return this.blockCount; } public Object2IntMap getRequiredMaterials() { return this.requiredMaterials; } public int getUnknownStates() { return this.unknownStates; } public String getUnknownExample() { return this.unknownExample; } }