WorldPruneCommand class
Пакет: com.hypixel.hytale.server.core.universe.world.commands.world
Файл: com/hypixel/hytale/server/core/universe/world/commands/world/WorldPruneCommand.java
extends: AbstractAsyncCommand
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
CommandSender |
var2 |
|
boolean |
var2 |
|
World |
var3 |
|
String |
var3 |
|
Map |
var4 |
|
Set |
var5 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
super super("prune", "server.commands.world.prune.desc", true) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.commands.world;
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.basecommands.AbstractAsyncCommand;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import java.util.HashSet;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WorldPruneCommand class="kw">extends AbstractAsyncCommand {
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_WORLD_PRUNE_NONE_TO_PRUNE = Message.translation("server.commands.world.prune.noneToPrune");
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_WORLD_PRUNE_PRUNE_ERROR = Message.translation("server.commands.world.prune.pruneError");
class="kw">public WorldPruneCommand() {
super("prune", "server.commands.world.prune.desc", true);
}
@Nonnull
@Override
class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
CommandSender var2 = var1.sender();
World var3 = Universe.get().getDefaultWorld();
Map var4 = Universe.get().getWorlds();
Set var5 = new HashSet<>();
var4.forEach((var2x, var3x) -> {
if (!var3x.equals(var3) && var3x.getPlayerCount() == 0) {
var5.add(var2x);
var3x.getWorldConfig().setDeleteOnRemove(true);
}
});
if (var5.isEmpty()) {
var2.sendMessage(MESSAGE_COMMANDS_WORLD_PRUNE_NONE_TO_PRUNE);
class="kw">return CompletableFuture.completedFuture(null);
} else {
class="kw">return CompletableFuture.runAsync(() -> {
var5.forEach(var1x -> {
try {
boolean var2 = Universe.get().removeWorld(var1x);
String var3 = var2 ? "server.commands.world.prune.prunedWorld" : "server.commands.world.prune.pruneFailed";
var2.sendMessage(Message.translation(var3).param("world", var1x));
} catch (Throwable var4) {
var2.sendMessage(MESSAGE_COMMANDS_WORLD_PRUNE_PRUNE_ERROR);
((HytaleLogger.Api)HytaleLogger.getLogger().at(Level.SEVERE).withCause(var4)).log("Error pruning world %s", var1x);
}
});
var2.sendMessage(Message.translation("server.commands.world.prune.done").param("count", var5.size()));
});
}
}
}