StartCommand class

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

Файл: com/hypixel/hytale/builtin/adventure/worldevents/command/StartCommand.java

extends: AbstractCommandCollection

Поля (7)

МодификаторыТипИмя
private final RequiredArg<WorldEventAsset> assetArg
private final RequiredArg<UUID> eventIdArg
private final FlagArg restartArg
Store var2
UUID var2
WorldEventAsset var3
boolean var3

Методы (9)

МодификаторыВозвратСигнатура
public StartAssetCommandpublic StartAssetCommand()
public StartGlobalCommandpublic StartGlobalCommand()
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1, @Nonnull World var2)
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1)
if if(var3 != null && var3 != WorldEventAsset.UNKNOWN)
if if(var2 == null)
abstract super super("start", "server.commands.worldevent.start.desc")
abstract super super("asset", "server.commands.worldevent.start.asset.desc")
abstract super super("global", "server.commands.worldevent.start.global.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.command;

class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.GlobalWorldEventManager;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventRecord;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.action.EventStartAction;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEventAsset;
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.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractAsyncCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractAsyncWorldCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
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 java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;

class="kw">public class StartCommand class="kw">extends AbstractCommandCollection {
   class="kw">public StartCommand() {
      super("start", "server.commands.worldevent.start.desc");
      this.addSubCommand(new StartCommand.StartAssetCommand());
      this.addSubCommand(new StartCommand.StartGlobalCommand());
   }

   class="kw">public class="kw">static class StartAssetCommand class="kw">extends AbstractAsyncWorldCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<WorldEventAsset> assetArg = this.withRequiredArg(
         "asset", "server.commands.worldevent.start.asset.arg.asset.desc", WorldEventCommand.ASSET_ARGUMENT_TYPE
      );

      class="kw">public StartAssetCommand() {
         super("asset", "server.commands.worldevent.start.asset.desc");
      }

      @Nonnull
      @Override
      class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1, @Nonnull World var2) {
         WorldEventAsset var3 = this.assetArg.get(var1);
         if (var3 != null && var3 != WorldEventAsset.UNKNOWN) {
            var1.sendMessage(Message.translation("server.commands.worldevent.start.started").param("id", var3.getId()));
            class="kw">return CompletableFuture.runAsync(() -> {
               Store var2 = var2.getEntityStore().getStore();
               EventStartAction.startEvent(var2, new WorldEventRecord(null, var3.getId(), true));
            }, var2);
         } else {
            var1.sendMessage(Message.translation("server.commands.worldevent.assetNotFound"));
            class="kw">return CompletableFuture.completedFuture(null);
         }
      }
   }

   class="kw">public class="kw">static class StartGlobalCommand class="kw">extends AbstractAsyncCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<UUID> eventIdArg = this.withRequiredArg(
         "event-id", "server.commands.worldevent.start.global.arg.eventId.desc", WorldEventCommand.GLOBAL_EVENT_UUID_ARGUMENT_TYPE
      );
      class="kw">private class="kw">final FlagArg restartArg = this.withFlagArg("restart", "server.commands.worldevent.start.global.arg.restart.desc");

      class="kw">public StartGlobalCommand() {
         super("global", "server.commands.worldevent.start.global.desc");
      }

      @Nonnull
      @Override
      class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
         UUID var2 = this.eventIdArg.get(var1);
         if (var2 == null) {
            var1.sendMessage(Message.translation("server.commands.worldevent.invalidId"));
            class="kw">return CompletableFuture.completedFuture(null);
         }

         boolean var3 = GlobalWorldEventManager.startEvent(var2);
         var1.sendMessage(
            var3
               ? Message.translation("server.commands.worldevent.start.global.activated").param("id", var2.toString())
               : Message.translation("server.commands.worldevent.start.global.alreadyActive").param("id", var2.toString())
         );
         if (!var3 && var1.provided(this.restartArg)) {
            GlobalWorldEventManager.scheduleStartEventInAllWorlds(var2);
         }

         class="kw">return CompletableFuture.completedFuture(null);
      }
   }
}