WorldEventActivePage class

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

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

extends: WorldEventPanelPage

Поля (9)

МодификаторыТипИмя
final String KIND_EVENT
break
yield false
yield true
WorldEventManager var4
UUID var4
List var5
int var6
var6

Методы (7)

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

Исходный код

Показать/скрыть
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.action.EventStopAction;
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.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 WorldEventActivePage class="kw">extends WorldEventPanelPage {
   class="kw">private class="kw">static class="kw">final String KIND_EVENT = "event";

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

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

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

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

   @Override
   class="kw">protected void buildContent(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2, @Nonnull Store<EntityStore> var3) {
      WorldEventManager var4 = var3.getResource(WorldEventManager.getResourceType());
      List var5 = new ArrayList<>();
      var4.forEach(var5, (var0, var1x) -> var1x.add(var0));
      var5.sort(Comparator.<WorldEvent, String>comparing(var0 -> var0.asset).thenComparing(var0 -> var0.uuid));
      int var6 = 0;

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

            var6 = this.appendRow(
               var1,
               var2,
               var6,
               new WorldEventPanelPage.Row("event", var8.uuid.toString())
                  .label(var8.asset)
                  .sub(var8.uuid.toString())
                  .status(statusColor(var8))
                  .badge(this.stageBadge(var8))
                  .select(WorldEventPanelPage.Action.RowSelect)
                  .primary(Message.translation("server.customUI.worldEventPanel.action.inspect"), WorldEventPanelPage.Action.RowPrimary)
                  .secondary(Message.translation("server.customUI.worldEventPanel.action.cancel"), WorldEventPanelPage.Action.RowSecondary)
            );
         }
      }

      if (var6 == 0) {
         this.appendText(var1, "#ListContainer", 0, Message.translation("server.customUI.worldEventPanel.active.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">return class="kw">switch (var3.action) {
            case RowSelect, RowPrimary -> {
               this.openPage(var1, var2, new WorldEventInspectorPage(this.playerRef, var4));
               yield false;
            }
            case RowSecondary -> {
               EventStopAction.stopEvent(var2, var4, (var0, var1x) -> var0.uuid.equals(var1x));
               yield true;
            }
            class="kw">default -> false;
         };
      } else {
         class="kw">return false;
      }
   }

   @Nonnull
   class="kw">private class="kw">static String statusColor(@Nonnull WorldEvent var0) {
      if (var0.failCount > 0) {
         class="kw">return "#b04a4a";
      } else {
         class="kw">return var0.init ? "#c08a3a" : "#4f9e63";
      }
   }
}