NPCDumpCommand class
Пакет: com.hypixel.hytale.server.npc.commands
Файл: com/hypixel/hytale/server/npc/commands/NPCDumpCommand.java
extends: NPCWorldCommandBase
Поля (15)
| Модификаторы | Тип | Имя |
|---|---|---|
|
IAnnotatedComponent |
var11 |
|
List |
var12 |
|
JsonArray |
var13 |
|
JsonObject |
var15 |
|
ComponentInfo |
var5 |
|
ComponentInfo |
var5 |
|
StringBuilder |
var6 |
|
JsonObject |
var6 |
|
Role |
var7 |
|
int |
var7 |
|
ExecutionSupport |
var8 |
|
JsonArray |
var8 |
|
List |
var9 |
|
IAnnotatedComponent |
var9 |
|
int |
var9 |
Методы (16)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
dumpComponentvoid dumpComponent(@Nonnull ExecutionSupport var0, @Nonnull IAnnotatedComponent var1, int var2, int var3, @Nonnull List<ComponentInfo> var4) |
abstract |
|
dumpComponent dumpComponent(var8, var7, -1, 0, var9) |
abstract |
|
dumpComponent dumpComponent(var0, var9, var8, var3 + 1, var4) |
static |
void |
dumpComponentsAsJsonvoid dumpComponentsAsJson(@Nonnull ExecutionSupport var0, @Nonnull IAnnotatedComponent var1, int var2, int var3, @Nonnull JsonElement var4) |
abstract |
|
dumpComponentsAsJson dumpComponentsAsJson(var8, var7, -1, 0, var15) |
abstract |
|
dumpComponentsAsJson dumpComponentsAsJson(var0, var11, var10, var3 + 1, var8) |
|
|
for for(ComponentInfo var11 : var9) |
|
|
for for(int var8 = 0; var8 < var7; var8++) |
|
|
for for(int var10 = 0; var10 < var9; var10++) |
|
|
for for(String var15 : var12) |
|
|
if if(var7 != null) |
|
|
if if(var1 instanceof IAnnotatedComponentCollection var6) |
|
|
if if(var9 != null) |
|
|
if if(var1 instanceof IAnnotatedComponentCollection var7) |
|
|
if if(var11 != null) |
abstract |
|
super super("dump", "server.commands.npc.dump.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.commands;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.google.gson.JsonPrimitive;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
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 com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.entities.NPCEntity;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.role.Role;
class="kw">import com.hypixel.hytale.server.npc.util.ComponentInfo;
class="kw">import com.hypixel.hytale.server.npc.util.IAnnotatedComponent;
class="kw">import com.hypixel.hytale.server.npc.util.IAnnotatedComponentCollection;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">public class NPCDumpCommand class="kw">extends NPCWorldCommandBase {
@Nonnull
class="kw">private class="kw">final FlagArg jsonArg = this.withFlagArg("json", "server.commands.npc.dump.json");
class="kw">public NPCDumpCommand() {
super("dump", "server.commands.npc.dump.desc");
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1, @Nonnull NPCEntity var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4, @Nonnull Ref<EntityStore> var5
) {
StringBuilder var6 = new StringBuilder(var2.getRoleName());
var6.append(":\n");
Role var7 = var2.getRole();
if (var7 != null) {
ExecutionSupport var8 = var7.acquireExecutionSupport(var5, var4);
try {
if (!this.jsonArg.get(var1)) {
List var9 = new ObjectArrayList();
dumpComponent(var8, var7, -1, 0, var9);
for (ComponentInfo var11 : var9) {
var6.append(var11).append('\n');
}
} else {
JsonObject var15 = new JsonObject();
dumpComponentsAsJson(var8, var7, -1, 0, var15);
var6.append(var15);
}
} class="kw">finally {
var8.clearForReuse();
}
}
NPCPlugin.get().getLogger().at(Level.INFO).log("%s", var6.toString());
}
class="kw">private class="kw">static void dumpComponent(@Nonnull ExecutionSupport var0, @Nonnull IAnnotatedComponent var1, int var2, int var3, @Nonnull List<ComponentInfo> var4) {
ComponentInfo var5 = new ComponentInfo(var1.getClass().getSimpleName(), var2, var3);
var4.add(var5);
if (var1 class="kw">instanceof IAnnotatedComponentCollection var6) {
int var7 = var6.componentCount();
for (int var8 = 0; var8 < var7; var8++) {
IAnnotatedComponent var9 = var6.getComponent(var8);
if (var9 != null) {
dumpComponent(var0, var9, var8, var3 + 1, var4);
}
}
}
var1.getInfo(var0, var5);
}
class="kw">private class="kw">static void dumpComponentsAsJson(@Nonnull ExecutionSupport var0, @Nonnull IAnnotatedComponent var1, int var2, int var3, @Nonnull JsonElement var4) {
ComponentInfo var5 = new ComponentInfo(var1.getClass().getSimpleName(), var2, var3);
JsonObject var6 = var4.isJsonObject() ? var4.getAsJsonObject() : new JsonObject();
var6.add("name", new JsonPrimitive(var5.getName()));
if (var5.getIndex() >= 0) {
var6.add("index", new JsonPrimitive(var5.getIndex()));
}
if (var1 class="kw">instanceof IAnnotatedComponentCollection var7) {
JsonArray var8 = new JsonArray();
var6.add("children", var8);
int var9 = var7.componentCount();
for (int var10 = 0; var10 < var9; var10++) {
IAnnotatedComponent var11 = var7.getComponent(var10);
if (var11 != null) {
dumpComponentsAsJson(var0, var11, var10, var3 + 1, var8);
}
}
}
var1.getInfo(var0, var5);
List var12 = var5.getFields();
if (!var12.isEmpty()) {
JsonArray var13 = new JsonArray();
for (String var15 : var12) {
var13.add(var15);
}
var6.add("parameters", var13);
}
if (var4.isJsonArray()) {
var4.getAsJsonArray().add(var6);
}
}
}