WorldAddCommand class
Пакет: com.hypixel.hytale.server.core.universe.world.commands.world
Файл: com/hypixel/hytale/server/core/universe/world/commands/world/WorldAddCommand.java
extends: CommandBase
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
CommandSender |
var2 |
|
String |
var3 |
|
String |
var4 |
|
String |
var5 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
super super("add", "server.commands.addworld.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.commands.world;
class="kw">import com.hypixel.hytale.common.util.CompletableFutureUtil;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.DefaultArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.Objects;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WorldAddCommand class="kw">extends CommandBase {
@Nonnull
class="kw">private class="kw">final RequiredArg<String> nameArg = this.withRequiredArg("name", "server.commands.addworld.arg.name.desc", ArgTypes.STRING);
@Nonnull
class="kw">private class="kw">final DefaultArg<String> genArg = this.withDefaultArg(
"gen", "server.commands.addworld.arg.gen.desc", ArgTypes.WORLD_GEN_PROVIDER_KEY_OR_DEFAULT, "class="kw">default", ""
);
@Nonnull
class="kw">private class="kw">final DefaultArg<String> storageArg = this.withDefaultArg(
"storage", "server.commands.addworld.arg.storage.desc", ArgTypes.CHUNK_STORAGE_PROVIDER_KEY_OR_DEFAULT, "class="kw">default", ""
);
class="kw">public WorldAddCommand() {
super("add", "server.commands.addworld.desc");
}
@Override
class="kw">protected void executeSync(@Nonnull CommandContext var1) {
CommandSender var2 = var1.sender();
String var3 = var1.get(this.nameArg);
if (Universe.get().getWorld(var3) != null) {
var2.sendMessage(Message.translation("server.universe.addWorld.alreadyExists").param("worldName", var3));
} else if (Universe.get().isWorldLoadable(var3)) {
var2.sendMessage(Message.translation("server.universe.addWorld.alreadyExistsDisk").param("worldName", var3));
} else {
String var4 = var1.get(this.genArg);
String var5 = var1.get(this.storageArg);
CompletableFutureUtil._catch(
Universe.get()
.addWorld(var3, var4, var5)
.thenRun(
() -> var2.sendMessage(
Message.translation("server.universe.addWorld.worldCreated")
.param("worldName", var3)
.param("generator", Objects.requireNonNullElse(var4, "class="kw">default"))
.param("storage", Objects.requireNonNullElse(var5, "class="kw">default"))
)
)
.exceptionally(
var2x -> {
((HytaleLogger.Api)LOGGER.at(Level.SEVERE).withCause(var2x)).log("Failed to add world '%s'", var3);
var2.sendMessage(
Message.translation("server.universe.addWorld.failed")
.param("worldName", var3)
.param("error", var2x.getCause() != null ? var2x.getCause().getMessage() : var2x.getMessage())
);
class="kw">return null;
}
)
);
}
}
}