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