WorldEventConfigPage class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.ui
Файл: com/hypixel/hytale/builtin/adventure/worldevents/ui/WorldEventConfigPage.java
extends: WorldEventPanelPage
Поля (31)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
KIND_EVENT |
|
|
break |
|
|
break |
|
|
break |
|
|
break |
|
|
break |
|
|
break |
|
WorldEventRecord |
var11 |
|
WorldEventPanelPage.Row |
var12 |
|
WorldEventRecord |
var19 |
|
UUID |
var2 |
|
boolean |
var20 |
|
World |
var4 |
|
WorldEventsConfig |
var4 |
|
WorldEventsConfig |
var5 |
|
int |
var5 |
|
|
var5 |
|
WorldEventManager |
var6 |
|
WorldEventRecord[] |
var6 |
|
WorldEventStorage |
var7 |
|
WorldEventRecord |
var7 |
|
int |
var8 |
|
|
var8 |
|
|
var8 |
|
|
var8 |
|
|
var8 |
|
|
var8 |
|
|
var8 |
|
|
var8 |
|
int |
var9 |
|
|
var9 |
Методы (17)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
boolean |
handleGlobalboolean handleGlobal(@Nonnull WorldEventRecord var0, @Nonnull WorldEventPanelPage.Action var1) |
abstract |
return |
handleGlobalreturn handleGlobal(var7, var3.action) |
|
|
if if(var5 == null) |
|
|
if if(var8 >= 400) |
|
|
if if(var9 == 0) |
|
|
if if(var8 >= 400) |
|
|
if if(var9 == 0) |
|
|
if if(var3.action != null && var3.kind != null && var3.id != null) |
|
|
if if(var4 == null) |
|
|
if if(var5 >= 0 && var5 < var6.length) |
|
|
if if(var7 == null) |
|
|
if if(var2 == null) |
static |
boolean |
isRunningboolean isRunning(@Nonnull WorldEventRecord var0, @Nonnull WorldEventManager var1) |
private |
boolean |
matchesRecordboolean matchesRecord(@Nonnull WorldEventRecord var1) |
abstract |
|
super super(var1) |
|
|
switch switch(var3.action) |
|
|
switch switch(var1) |
Исходный код
Показать/скрыть
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.WorldEventStorage;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventsConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.action.EventStartAction;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.action.EventStopAction;
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.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class WorldEventConfigPage class="kw">extends WorldEventPanelPage {
class="kw">private class="kw">static class="kw">final String KIND_EVENT = "event";
class="kw">private class="kw">static class="kw">final String KIND_GLOBAL = "global";
class="kw">public WorldEventConfigPage(@Nonnull PlayerRef var1) {
super(var1);
}
@Nullable
@Override
class="kw">protected WorldEventPanelPage.Tab tab() {
class="kw">return WorldEventPanelPage.Tab.CONFIG;
}
@Nonnull
@Override
class="kw">protected String titleKey() {
class="kw">return "server.customUI.worldEventPanel.tab.config";
}
@Nonnull
@Override
class="kw">protected String descriptionKey() {
class="kw">return "server.customUI.worldEventPanel.tab.config.desc";
}
@Override
class="kw">protected void buildContent(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2, @Nonnull Store<EntityStore> var3) {
World var4 = var3.getExternalData().getWorld();
WorldEventsConfig var5 = config(var4);
if (var5 == null) {
this.appendText(var1, "#ListContainer", 0, Message.translation("server.customUI.worldEventPanel.config.missing"));
} else {
WorldEventManager var6 = var3.getResource(WorldEventManager.getResourceType());
WorldEventStorage var7 = var3.getResource(WorldEventStorage.getResourceType());
int var8 = 0;
var8 = this.appendSection(var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.section.settings"));
var8 = this.appendProperty(
var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.field.exclusionRadius"), String.valueOf(var5.exclusionRadius())
);
var8 = this.appendSection(
var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.section.worldEvents").param("count", var5.events().length)
);
int var9 = 0;
for (int var10 = 0; var10 < var5.events().length; var10++) {
WorldEventRecord var11 = var5.events()[var10];
if (var11 != null && this.matchesRecord(var11)) {
if (var8 >= 400) {
break;
}
WorldEventPanelPage.Row var12 = new WorldEventPanelPage.Row("event", String.valueOf(var10));
if (var11.id() != null) {
var12.sub(var11.id().toString());
} else {
var12.sub(Message.translation("server.customUI.worldEventPanel.config.noId"));
}
var8 = this.appendRow(
var1,
var2,
var8,
var12.label(var11.event())
.status(recordColor(var11, var6, var7))
.badge(recordBadge(var11, var6, var7))
.primary(Message.translation("server.customUI.worldEventPanel.action.start"), WorldEventPanelPage.Action.RowPrimary)
.secondary(Message.translation("server.customUI.worldEventPanel.action.cancel"), WorldEventPanelPage.Action.RowSecondary)
);
var9++;
}
}
if (var9 == 0) {
var8 = this.appendText(var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.config.noEvents"));
}
var8 = this.appendSection(
var1,
"#ListContainer",
var8,
Message.translation("server.customUI.worldEventPanel.section.globalEvents").param("count", var5.globalEvents().length)
);
var9 = 0;
for (int var18 = 0; var18 < var5.globalEvents().length; var18++) {
WorldEventRecord var19 = var5.globalEvents()[var18];
if (var19 != null && var19.id() != null && this.matchesRecord(var19)) {
if (var8 >= 400) {
break;
}
boolean var20 = GlobalWorldEventManager.INSTANCE.contains(var19.id());
var8 = this.appendRow(
var1,
var2,
var8,
new WorldEventPanelPage.Row("global", String.valueOf(var18))
.label(var19.event())
.sub(var19.id().toString())
.status(var20 ? "#4f9e63" : "#4a5a6a")
.badge(Message.translation(var20 ? "server.customUI.worldEventPanel.state.active" : "server.customUI.worldEventPanel.state.inactive"))
.primary(
Message.translation(var20 ? "server.customUI.worldEventPanel.action.restart" : "server.customUI.worldEventPanel.action.start"),
WorldEventPanelPage.Action.RowPrimary
)
.secondary(Message.translation("server.customUI.worldEventPanel.action.stop"), WorldEventPanelPage.Action.RowSecondary)
);
var9++;
}
}
if (var9 == 0) {
this.appendText(var1, "#ListContainer", var8, Message.translation("server.customUI.worldEventPanel.config.noGlobalEvents"));
}
}
}
@Override
class="kw">protected boolean handleAction(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull WorldEventPanelPage.PageData var3) {
if (var3.action != null && var3.kind != null && var3.id != null) {
WorldEventsConfig var4 = config(var2.getExternalData().getWorld());
if (var4 == null) {
class="kw">return false;
}
int var5;
try {
var5 = Integer.parseInt(var3.id);
} catch (NumberFormatException var8) {
class="kw">return false;
}
WorldEventRecord[] var6 = "global".equals(var3.kind) ? var4.globalEvents() : var4.events();
if (var5 >= 0 && var5 < var6.length) {
WorldEventRecord var7 = var6[var5];
if (var7 == null) {
class="kw">return false;
}
if ("global".equals(var3.kind)) {
class="kw">return handleGlobal(var7, var3.action);
}
class="kw">switch (var3.action) {
case RowPrimary:
EventStartAction.startEvent(var2, var7);
break;
case RowSecondary:
if (var7.id() != null) {
EventStopAction.stopEvent(var2, var7.id(), (var0, var1x) -> var0.uuid.equals(var1x));
} else {
EventStopAction.stopEvent(var2, var7.event(), (var0, var1x) -> var0.asset.equals(var1x));
}
break;
class="kw">default:
class="kw">return false;
}
class="kw">return true;
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
}
class="kw">private class="kw">static boolean handleGlobal(@Nonnull WorldEventRecord var0, @Nonnull WorldEventPanelPage.Action var1) {
UUID var2 = var0.id();
if (var2 == null) {
class="kw">return false;
}
class="kw">switch (var1) {
case RowPrimary:
if (!GlobalWorldEventManager.startEvent(var2)) {
GlobalWorldEventManager.scheduleRestartEventInAllWorlds(var2);
}
break;
case RowSecondary:
GlobalWorldEventManager.stopEvent(var2);
break;
class="kw">default:
class="kw">return false;
}
class="kw">return true;
}
class="kw">private boolean matchesRecord(@Nonnull WorldEventRecord var1) {
class="kw">return this.matchesFilter(var1.event(), var1.id() != null ? var1.id().toString() : "");
}
@Nonnull
class="kw">private class="kw">static String recordColor(@Nonnull WorldEventRecord var0, @Nonnull WorldEventManager var1, @Nonnull WorldEventStorage var2) {
if (isRunning(var0, var1)) {
class="kw">return "#4f9e63";
} else {
class="kw">return var0.id() != null && var2.isComplete(var0.id()) ? "#4274a5" : "#4a5a6a";
}
}
@Nonnull
class="kw">private class="kw">static Message recordBadge(@Nonnull WorldEventRecord var0, @Nonnull WorldEventManager var1, @Nonnull WorldEventStorage var2) {
if (isRunning(var0, var1)) {
class="kw">return Message.translation("server.customUI.worldEventPanel.state.running");
} else {
class="kw">return var0.id() != null && var2.isComplete(var0.id())
? Message.translation("server.customUI.worldEventPanel.state.completed")
: Message.translation(var0.isTransient() ? "server.customUI.worldEventPanel.mode.class="kw">transient" : "server.customUI.worldEventPanel.mode.persistent");
}
}
class="kw">private class="kw">static boolean isRunning(@Nonnull WorldEventRecord var0, @Nonnull WorldEventManager var1) {
class="kw">return var0.id() != null ? var1.get(var0.id()) != null : !var1.allOf(var0.event()).isEmpty();
}
}