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;
}
}
}
}
}