ItemType enum

Пакет: com.hypixel.hytale.server.core.inventory.container

Файл: com/hypixel/hytale/server/core/inventory/container/SortType.java

Поля (1)

МодификаторыТипИмя
WEAPON, ARMOR, TOOL, ITEM, SPECIAL

Методы (1)

МодификаторыВозвратСигнатура
private static SortType.Dummy.ItemType getTypeprivate static SortType.Dummy.ItemType getType(@Nonnull Item var0)

Исходный код

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

class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.ItemQuality;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import java.util.Comparator;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;

class="kw">public enum SortType {
   NAME(var0 -> var0.getItem().getTranslationKey(), false, false),
   TYPE(var0 -> SortType.Dummy.ItemType.getType(var0.getItem()), false, true),
   RARITY(var0 -> {
      int var1 = var0.getItem().getQualityIndex();
      ItemQuality var2 = ItemQuality.getAssetMap().getAsset(var1);
      int var3 = (var2 != null ? var2 : ItemQuality.DEFAULT_ITEM_QUALITY).getQualityValue();
      class="kw">return var3;
   }, true, true);

   @Nonnull
   class="kw">public class="kw">static class="kw">final SortType[] VALUES = values();
   @Nonnull
   class="kw">private class="kw">final Comparator<ItemStack> comparator;

   <U class="kw">extends Comparable<U>> SortType(@Nonnull class="kw">final Function<ItemStack, U> nullxx, class="kw">final boolean nullxxx, class="kw">final boolean nullxxxx) {
      Comparator var6 = comparatorFor(nullxx);
      if (nullxxx) {
         var6 = var6.reversed();
      }

      if (nullxxxx) {
         var6 = var6.thenComparing(comparatorFor(var0 -> var0.getItem().getTranslationKey()));
      }

      this.comparator = Comparator.nullsLast(var6);
   }

   @Nonnull
   class="kw">public Comparator<ItemStack> getComparator() {
      class="kw">return this.comparator;
   }

   @Nonnull
   class="kw">private class="kw">static <U class="kw">extends Comparable<U>> Comparator<ItemStack> comparatorFor(@Nonnull Function<ItemStack, U> var0) {
      class="kw">return (var1, var2) -> {
         Comparable var3 = var0.apply(var1);
         Comparable var4 = var0.apply(var2);
         if (var3 == var4) {
            class="kw">return 0;
         } else if (var3 == null) {
            class="kw">return 1;
         } else {
            class="kw">return var4 == null ? -1 : var3.compareTo(var4);
         }
      };
   }

   class="kw">static class Dummy {
      Dummy() {
      }

      enum ItemType {
         WEAPON,
         ARMOR,
         TOOL,
         ITEM,
         SPECIAL;

         ItemType() {
         }

         @Nonnull
         class="kw">private class="kw">static SortType.Dummy.ItemType getType(@Nonnull Item var0) {
            if (var0.getWeapon() != null) {
               class="kw">return WEAPON;
            } else if (var0.getArmor() != null) {
               class="kw">return ARMOR;
            } else if (var0.getTool() != null) {
               class="kw">return TOOL;
            } else {
               class="kw">return var0.getBuilderTool() != null ? SPECIAL : ITEM;
            }
         }
      }
   }
}