WorldEventGlobalPage class

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

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

extends: WorldEventPanelPage

Поля (12)

МодификаторыТипИмя
final String KIND_GLOBAL
break
break
break
String var11
boolean var12
WorldEventsConfig var3
UUID[] var4
UUID var4
WorldEventManager var5
int var6
var6

Методы (7)

МодификаторыВозвратСигнатура
for for(UUID var10 : var4)
if if(var6 >= 400)
if if(var6 == 0)
if if(var4 != null && var3.action != null)
if if(var3 != null)
abstract super super(var1)
switch switch(var3.action)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.GlobalWorldEventManager;
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.WorldEventsConfig;
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.Universe;
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.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WorldEventGlobalPage class="kw">extends WorldEventPanelPage {
   class="kw">private class="kw">static class="kw">final String KIND_GLOBAL = "global";

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

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

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

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

   @Override
   class="kw">protected void buildContent(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2, @Nonnull Store<EntityStore> var3) {
      UUID[] var4 = GlobalWorldEventManager.INSTANCE.activeIds();
      WorldEventManager var5 = var3.getResource(WorldEventManager.getResourceType());
      int var6 = 0;

      for (UUID var10 : var4) {
         String var11 = resolveAsset(var10);
         if (this.matchesFilter(var10.toString(), var11 != null ? var11 : "")) {
            if (var6 >= 400) {
               break;
            }

            boolean var12 = var5.get(var10) != null;
            var6 = this.appendRow(
               var1,
               var2,
               var6,
               new WorldEventPanelPage.Row("global", var10.toString())
                  .label(var11 != null ? var11 : var10.toString())
                  .sub(var10.toString())
                  .status(var12 ? "#4f9e63" : (var11 != null ? "#c08a3a" : "#b04a4a"))
                  .badge(
                     Message.translation(
                        var12
                           ? "server.customUI.worldEventPanel.global.runningHere"
                           : (var11 != null ? "server.customUI.worldEventPanel.global.notRunningHere" : "server.customUI.worldEventPanel.global.unresolved")
                     )
                  )
                  .primary(Message.translation("server.customUI.worldEventPanel.action.restart"), WorldEventPanelPage.Action.RowPrimary)
                  .secondary(Message.translation("server.customUI.worldEventPanel.action.stop"), WorldEventPanelPage.Action.RowSecondary)
            );
         }
      }

      if (var6 == 0) {
         this.appendText(var1, "#ListContainer", 0, Message.translation("server.customUI.worldEventPanel.global.empty"));
      }
   }

   @Override
   class="kw">protected boolean handleAction(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull WorldEventPanelPage.PageData var3) {
      UUID var4 = parseUuid(var3.id);
      if (var4 != null && var3.action != null) {
         class="kw">switch (var3.action) {
            case RowPrimary:
               GlobalWorldEventManager.scheduleRestartEventInAllWorlds(var4);
               break;
            case RowSecondary:
               GlobalWorldEventManager.stopEvent(var4);
               break;
            class="kw">default:
               class="kw">return false;
         }

         class="kw">return true;
      } else {
         class="kw">return false;
      }
   }

   @Nullable
   class="kw">private class="kw">static String resolveAsset(@Nonnull UUID var0) {
      for (World var2 : Universe.get().getWorlds().values()) {
         WorldEventsConfig var3 = config(var2);
         if (var3 != null) {
            for (WorldEventRecord var7 : var3.globalEvents()) {
               if (var7 != null && var0.equals(var7.id())) {
                  class="kw">return var7.event();
               }
            }
         }
      }

      class="kw">return null;
   }
}