SlotMapper class

Пакет: com.hypixel.hytale.server.npc.asset.builder

Файл: com/hypixel/hytale/server/npc/asset/builder/SlotMapper.java

Поля (3)

МодификаторыТипИмя
final int NO_SLOT
int var2
var2

Методы (5)

МодификаторыВозвратСигнатура
public int getSlotint getSlot(String var1)
if if(var2 == Integer.MIN_VALUE)
if if(this.nameMap != null)
public int slotCountint slotCount()
abstract this this(false)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder;

class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
class="kw">import javax.annotation.Nullable;

class="kw">public class SlotMapper {
   class="kw">public class="kw">static class="kw">final int NO_SLOT = Integer.MIN_VALUE;
   class="kw">private class="kw">final Object2IntMap<String> mappings = new Object2IntOpenHashMap();
   @Nullable
   class="kw">private class="kw">final Int2ObjectMap<String> nameMap;
   class="kw">private int nextSlot;

   class="kw">public SlotMapper() {
      this(false);
   }

   class="kw">public SlotMapper(boolean var1) {
      this.nameMap = var1 ? new Int2ObjectOpenHashMap() : null;
      this.mappings.defaultReturnValue(Integer.MIN_VALUE);
   }

   class="kw">public int getSlot(String var1) {
      int var2 = this.mappings.getInt(var1);
      if (var2 == Integer.MIN_VALUE) {
         var2 = this.nextSlot++;
         this.mappings.put(var1, var2);
         if (this.nameMap != null) {
            this.nameMap.put(var2, var1);
         }
      }

      class="kw">return var2;
   }

   class="kw">public int slotCount() {
      class="kw">return this.mappings.size();
   }

   @Nullable
   class="kw">public Object2IntMap<String> getSlotMappings() {
      class="kw">return this.mappings.isEmpty() ? null : this.mappings;
   }

   @Nullable
   class="kw">public Int2ObjectMap<String> getNameMap() {
      class="kw">return this.nameMap;
   }
}