WorldEventStoragePage class

Пакет: com.hypixel.hytale.builtin.adventure.worldevents.ui

Файл: com/hypixel/hytale/builtin/adventure/worldevents/ui/WorldEventStoragePage.java

extends: WorldEventPanelPage

Поля (20)

МодификаторыТипИмя
final String KIND_PERSISTED
break
break
boolean var12
String var15
UUID[] var19
WorldEventsConfig var2
WorldEventStorage var4
UUID var4
WorldEventManager var5
World var6
List var7
int var8
var8
var8
var8
var8
var8
int var9
var9

Методы (10)

МодификаторыВозвратСигнатура
for for(WorldEvent var11 : var7)
for for(UUID var14 : var19)
if if(var8 >= 400)
if if(var9 == 0)
if if(var8 >= 400)
if if(var9 == 0)
if if(var3.action != WorldEventPanelPage.Action.RowSelect)
if if(var4 == null)
if if(var2 == null)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.ui;

class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventManager;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventRecord;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventStorage;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventsConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEvent;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.Message;
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.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Comparator;
class="kw">import java.util.List;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WorldEventStoragePage class="kw">extends WorldEventPanelPage {
   class="kw">private class="kw">static class="kw">final String KIND_PERSISTED = "persisted";
   class="kw">private class="kw">static class="kw">final String KIND_COMPLETE = "complete";

   class="kw">public WorldEventStoragePage(@Nonnull PlayerRef var1) {
      super(var1);
   }

   @Nullable
   @Override
   class="kw">protected WorldEventPanelPage.Tab tab() {
      class="kw">return WorldEventPanelPage.Tab.STORAGE;
   }

   @Nonnull
   @Override
   class="kw">protected String titleKey() {
      class="kw">return "server.customUI.worldEventPanel.tab.storage";
   }

   @Nonnull
   @Override
   class="kw">protected String descriptionKey() {
      class="kw">return "server.customUI.worldEventPanel.tab.storage.desc";
   }

   @Override
   class="kw">protected void buildContent(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2, @Nonnull Store<EntityStore> var3) {
      WorldEventStorage var4 = var3.getResource(WorldEventStorage.getResourceType());
      WorldEventManager var5 = var3.getResource(WorldEventManager.getResourceType());
      World var6 = var3.getExternalData().getWorld();
      List var7 = new ArrayList<>();
      var4.forEach(var7, (var0, var1x) -> var1x.add(var0));
      var7.sort(Comparator.<WorldEvent, String>comparing(var0 -> var0.asset).thenComparing(var0 -> var0.uuid));
      int var8 = 0;
      var8 = this.appendSection(
         var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.section.persisted").param("count", var7.size())
      );
      int var9 = 0;

      for (WorldEvent var11 : var7) {
         if (this.matchesFilter(var11.asset, var11.uuid.toString())) {
            if (var8 >= 400) {
               break;
            }

            boolean var12 = var5.get(var11.uuid) != null;
            var8 = this.appendRow(
               var1,
               var2,
               var8,
               new WorldEventPanelPage.Row("persisted", var11.uuid.toString())
                  .label(var11.asset)
                  .sub(var11.uuid.toString())
                  .status(var12 ? "#4f9e63" : "#c08a3a")
                  .badge(Message.translation(var12 ? "server.customUI.worldEventPanel.state.running" : "server.customUI.worldEventPanel.state.dormant"))
                  .select(WorldEventPanelPage.Action.RowSelect)
                  .primary(Message.translation("server.customUI.worldEventPanel.action.inspect"), WorldEventPanelPage.Action.RowSelect)
            );
            var9++;
         }
      }

      if (var9 == 0) {
         var8 = this.appendText(var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.storage.noPersisted"));
      }

      UUID[] var19 = var4.getComplete();
      var8 = this.appendSection(
         var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.section.completed").param("count", var19.length)
      );
      var9 = 0;

      for (UUID var14 : var19) {
         String var15 = resolveAsset(var6, var14);
         if (this.matchesFilter(var14.toString(), var15 != null ? var15 : "")) {
            if (var8 >= 400) {
               break;
            }

            var8 = this.appendRow(
               var1,
               var2,
               var8,
               new WorldEventPanelPage.Row("complete", var14.toString())
                  .label(var15 != null ? var15 : var14.toString())
                  .sub(var14.toString())
                  .status("#4274a5")
                  .badge(Message.translation("server.customUI.worldEventPanel.state.completed"))
            );
            var9++;
         }
      }

      if (var9 == 0) {
         this.appendText(var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.storage.noCompleted"));
      }
   }

   @Override
   class="kw">protected boolean handleAction(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull WorldEventPanelPage.PageData var3) {
      if (var3.action != WorldEventPanelPage.Action.RowSelect) {
         class="kw">return false;
      }

      UUID var4 = parseUuid(var3.id);
      if (var4 == null) {
         class="kw">return false;
      }

      this.openPage(var1, var2, new WorldEventInspectorPage(this.playerRef, var4));
      class="kw">return false;
   }

   @Nullable
   class="kw">private class="kw">static String resolveAsset(@Nonnull World var0, @Nonnull UUID var1) {
      WorldEventsConfig var2 = config(var0);
      if (var2 == null) {
         class="kw">return null;
      }

      for (WorldEventRecord var6 : var2.events()) {
         if (var6 != null && var1.equals(var6.id())) {
            class="kw">return var6.event();
         }
      }

      for (WorldEventRecord var10 : var2.globalEvents()) {
         if (var10 != null && var1.equals(var10.id())) {
            class="kw">return var10.event();
         }
      }

      class="kw">return null;
   }
}