BlockSetLookupTable class

Пакет: com.hypixel.hytale.server.core.modules.blockset

Файл: com/hypixel/hytale/server/core/modules/blockset/BlockSetLookupTable.java

Поля (16)

МодификаторыТипИмя
String[] var10
int var15
String var16
var16
String var17
Item var18
Object2ObjectMap var2
Object2ObjectMap var3
int var3
Object2ObjectMap var4
Object2ObjectMap var5
BlockTypeAssetMap var6
String var6
int var7
int var8
int var9

Методы (13)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var2x)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var4x)
public void addAllvoid addAll(@Nonnull IntSet var1)
for for(String var14 : var10)
if if(var3 == Integer.MIN_VALUE)
if if(var7 == Integer.MIN_VALUE)
if if(var8 != 0)
if if(var8 > 0)
if if(var9 == Integer.MIN_VALUE)
if if(var18 != null)
if if(var10 != null)
if if(var15 == Integer.MIN_VALUE)
public boolean isEmptyboolean isEmpty()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.blockset;

class="kw">import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSets;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectMaps;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BlockSetLookupTable {
   @Nonnull
   class="kw">private class="kw">final Object2ObjectMap<String, IntSet> blockNameIdMap;
   @Nonnull
   class="kw">private class="kw">final Object2ObjectMap<String, IntSet> groupNameIdMap;
   @Nonnull
   class="kw">private class="kw">final Object2ObjectMap<String, IntSet> hitboxNameIdMap;
   @Nonnull
   class="kw">private class="kw">final Object2ObjectMap<String, IntSet> categoryIdMap;

   class="kw">public BlockSetLookupTable(@Nonnull Map<String, BlockType> var1) {
      Object2ObjectMap var2 = new Object2ObjectOpenHashMap();
      Object2ObjectMap var3 = new Object2ObjectOpenHashMap();
      Object2ObjectMap var4 = new Object2ObjectOpenHashMap();
      Object2ObjectMap var5 = new Object2ObjectOpenHashMap();
      BlockTypeAssetMap var6 = BlockType.getAssetMap();
      var1.keySet().forEach(var2x -> {
         int var3 = var6.getIndex(var2x);
         if (var3 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var2x);
         }

         ((IntSet)var2.computeIfAbsent(var2x, var0x -> new IntOpenHashSet())).add(var3);
      });
      var1.forEach((var4x, var5x) -> {
         String var6 = var5x.getGroup();
         if (var6 != null && !var6.isEmpty()) {
            int var7 = var6.getIndex(var4x);
            if (var7 == Integer.MIN_VALUE) {
               throw new IllegalArgumentException("Unknown key! " + var4x);
            }

            ((IntSet)var3.computeIfAbsent(var6, var0x -> new IntOpenHashSet())).add(var7);
         }

         String var16 = var5x.getHitboxType();
         if (var16 != null && !var16.isEmpty()) {
            int var8 = var16.indexOf(124);
            if (var8 != 0) {
               if (var8 > 0) {
                  var16 = var16.substring(0, var8);
               }

               int var9 = var6.getIndex(var4x);
               if (var9 == Integer.MIN_VALUE) {
                  throw new IllegalArgumentException("Unknown key! " + var4x);
               }

               ((IntSet)var4.computeIfAbsent(var16, var0x -> new IntOpenHashSet())).add(var9);
            }
         }

         String var17 = var5x.getId();
         Item var18 = Item.getAssetMap().getAsset(var17);
         if (var18 != null) {
            String[] var10 = var18.getCategories();
            if (var10 != null) {
               for (String var14 : var10) {
                  int var15 = var6.getIndex(var4x);
                  if (var15 == Integer.MIN_VALUE) {
                     throw new IllegalArgumentException("Unknown key! " + var4x);
                  }

                  ((IntSet)var5.computeIfAbsent(var14, var0x -> new IntOpenHashSet())).add(var15);
               }
            }
         }
      });
      var2.replaceAll((var0, var1x) -> {
         ((IntOpenHashSet)var1x).trim();
         class="kw">return IntSets.unmodifiable(var1x);
      });
      var3.replaceAll((var0, var1x) -> {
         ((IntOpenHashSet)var1x).trim();
         class="kw">return IntSets.unmodifiable(var1x);
      });
      var4.replaceAll((var0, var1x) -> {
         ((IntOpenHashSet)var1x).trim();
         class="kw">return IntSets.unmodifiable(var1x);
      });
      var5.replaceAll((var0, var1x) -> {
         ((IntOpenHashSet)var1x).trim();
         class="kw">return IntSets.unmodifiable(var1x);
      });
      this.blockNameIdMap = Object2ObjectMaps.unmodifiable(var2);
      this.groupNameIdMap = Object2ObjectMaps.unmodifiable(var3);
      this.hitboxNameIdMap = Object2ObjectMaps.unmodifiable(var4);
      this.categoryIdMap = Object2ObjectMaps.unmodifiable(var5);
   }

   class="kw">public void addAll(@Nonnull IntSet var1) {
      this.blockNameIdMap.values().forEach(var1::addAll);
   }

   @Nonnull
   class="kw">public Object2ObjectMap<String, IntSet> getBlockNameIdMap() {
      class="kw">return this.blockNameIdMap;
   }

   @Nonnull
   class="kw">public Object2ObjectMap<String, IntSet> getGroupNameIdMap() {
      class="kw">return this.groupNameIdMap;
   }

   @Nonnull
   class="kw">public Object2ObjectMap<String, IntSet> getHitboxNameIdMap() {
      class="kw">return this.hitboxNameIdMap;
   }

   @Nonnull
   class="kw">public Object2ObjectMap<String, IntSet> getCategoryIdMap() {
      class="kw">return this.categoryIdMap;
   }

   class="kw">public boolean isEmpty() {
      class="kw">return this.blockNameIdMap.isEmpty() && this.groupNameIdMap.isEmpty() && this.hitboxNameIdMap.isEmpty() && this.categoryIdMap.isEmpty();
   }
}