ItemRepairPage class
Пакет: com.hypixel.hytale.server.core.entity.entities.player.pages.itemrepair
Файл: com/hypixel/hytale/server/core/entity/entities/player/pages/itemrepair/ItemRepairPage.java
extends: ChoiceBasePage
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Comparator<ItemRepairElement> |
DURABILITY_ORDER |
|
ObjectArrayList |
var4 |
|
ItemStack |
var6 |
|
ItemContext |
var7 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
for for(short var5 = 0; var5 < var0.getCapacity() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity.entities.player.pages.itemrepair;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.choices.ChoiceBasePage;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.choices.ChoiceElement;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemContext;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UICommandBuilder;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UIEventBuilder;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Comparator;
class="kw">import javax.annotation.Nonnull;
class="kw">public class ItemRepairPage class="kw">extends ChoiceBasePage {
class="kw">private class="kw">static class="kw">final Comparator<ItemRepairElement> DURABILITY_ORDER = Comparator.comparingDouble(
var0 -> var0.itemStack.getDurability() / var0.itemStack.getMaxDurability()
);
class="kw">public ItemRepairPage(@Nonnull PlayerRef var1, @Nonnull ItemContainer var2, double var3, ItemContext var5) {
super(var1, getItemElements(var2, var3, var5), "Pages/ItemRepairPage.ui");
}
@Override
class="kw">public void build(@Nonnull Ref<EntityStore> var1, @Nonnull UICommandBuilder var2, @Nonnull UIEventBuilder var3, @Nonnull Store<EntityStore> var4) {
if (this.getElements().length > 0) {
super.build(var1, var2, var3, var4);
} else {
var2.append(this.getPageLayout());
var2.clear("#ElementList");
var2.appendInline("#ElementList", "Label { Text: %server.customUI.itemRepairPage.noItems; Style: (Alignment: Center); }");
}
}
@Nonnull
class="kw">protected class="kw">static ChoiceElement[] getItemElements(@Nonnull ItemContainer var0, double var1, ItemContext var3) {
ObjectArrayList var4 = new ObjectArrayList();
for (short var5 = 0; var5 < var0.getCapacity(); var5++) {
ItemStack var6 = var0.getItemStack(var5);
if (!ItemStack.isEmpty(var6) && !var6.isUnbreakable() && var6.getItem().isRepairable() && !(var6.getDurability() >= var6.getMaxDurability())) {
ItemContext var7 = new ItemContext(var0, var5, var6);
var4.add(new ItemRepairElement(var6, new RepairItemInteraction(var7, var1, var3)));
}
}
var4.sort(DURABILITY_ORDER);
class="kw">return (ChoiceElement[])var4.toArray(ChoiceElement[]::new);
}
}