Builder class

Пакет: com.hypixel.hytale.server.npc.blackboard.view.attitude

Файл: com/hypixel/hytale/server/npc/blackboard/view/attitude/ItemAttitudeMap.java

Поля (5)

МодификаторыТипИмя
private final Map<String, Attitude>[] map
HashMap var1
String var2
int var3
Set var7

Методы (12)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var2)
abstract return new ItemAttitudeMapreturn new ItemAttitudeMap(this.map)
private void addAttitudeGroupprivate void addAttitudeGroup(@Nonnull ItemAttitudeGroup var1)
public void addAttitudeGroupspublic void addAttitudeGroups(@Nonnull Map<String, ItemAttitudeGroup> var1)
public ItemAttitudeMap buildpublic ItemAttitudeMap build()
private static Map<String, Attitude> createGroupMapprivate static Map<String, Attitude> createGroupMap(@Nonnull ItemAttitudeGroup var0)
for for(Attitude var5 : Attitude.VALUES)
for for(String var6 : var0)
if if(var3 == Integer.MIN_VALUE)
if if(var0 != null)
if if(var7 != null)
private static void putGroupsprivate static void putGroups(@Nullable String[] var0, Attitude var1, @Nonnull HashMap<String, Attitude> var2)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.server.core.asset.type.attitude.Attitude;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.npc.config.ItemAttitudeGroup;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ItemAttitudeMap {
   class="kw">private class="kw">final Map<String, Attitude>[] map;

   class="kw">private ItemAttitudeMap(Map<String, Attitude>[] var1) {
      this.map = var1;
   }

   @Nullable
   class="kw">public Attitude getAttitude(int var1, @Nullable ItemStack var2) {
      if (var2 == null) {
         class="kw">return null;
      }

      if (var1 == Integer.MIN_VALUE) {
         class="kw">return null;
      }

      Map var3 = this.map[var1];
      if (var3 == null) {
         class="kw">return null;
      }

      String var4 = var2.getItemId();
      class="kw">return var3.get(var4);
   }

   class="kw">public int getAttitudeGroupCount() {
      class="kw">return this.map.length;
   }

   class="kw">public void updateAttitudeGroup(int var1, @Nonnull ItemAttitudeGroup var2) {
      Map var3 = ItemAttitudeMap.Builder.createGroupMap(var2);
      this.map[var1] = var3;
   }

   class="kw">public class="kw">static class Builder {
      class="kw">private class="kw">final Map<String, Attitude>[] map = new HashMap[ItemAttitudeGroup.getAssetMap().getNextIndex()];

      class="kw">public Builder() {
      }

      class="kw">public void addAttitudeGroups(@Nonnull Map<String, ItemAttitudeGroup> var1) {
         var1.forEach((var1x, var2) -> this.addAttitudeGroup(var2));
      }

      class="kw">private void addAttitudeGroup(@Nonnull ItemAttitudeGroup var1) {
         String var2 = var1.getId();
         int var3 = ItemAttitudeGroup.getAssetMap().getIndex(var2);
         if (var3 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var2);
         }

         this.map[var3] = createGroupMap(var1);
      }

      @Nonnull
      class="kw">private class="kw">static Map<String, Attitude> createGroupMap(@Nonnull ItemAttitudeGroup var0) {
         HashMap var1 = new HashMap<>();

         for (Attitude var5 : Attitude.VALUES) {
            putGroups(var0.getAttitudes().get(var5), var5, var1);
         }

         class="kw">return var1;
      }

      class="kw">private class="kw">static void putGroups(@Nullable String[] var0, Attitude var1, @Nonnull HashMap<String, Attitude> var2) {
         if (var0 != null) {
            for (String var6 : var0) {
               Set var7 = Item.getAssetMap().getKeysForTag(AssetRegistry.getOrCreateTagIndex(var6));
               if (var7 != null) {
                  var7.forEach(var2x -> var2.put(var2x, var1));
               }
            }
         }
      }

      @Nonnull
      class="kw">public ItemAttitudeMap build() {
         class="kw">return new ItemAttitudeMap(this.map);
      }
   }
}