WorldEventCommand class

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

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

extends: AbstractCommandCollection

Поля (12)

МодификаторыТипИмя
final HytaleLogger LOGGER
WorldEventManager var10
String var13
String var3
List var3
int var4
Set var5
ObjectOpenHashSet var5
ObjectOpenHashSet var5
WorldEventsConfig var8
WorldEventsConfig var8
Store var9

Методы (10)

МодификаторыВозвратСигнатура
if if(var8 != null)
if if(var8 != null)
public WorldEventAsset parsepublic WorldEventAsset parse(String var1, ParseResult var2)
public UUID parsepublic UUID parse(String var1, ParseResult var2)
public UUID parsepublic UUID parse(String var1, ParseResult var2)
public void suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4)
public void suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4)
public void suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4)
static void suggestvoid suggest(@Nonnull String var0, @Nonnull SuggestionResult var1, @Nonnull Collection<String> var2)
abstract super super("worldevent", "server.commands.worldevent.desc")

Исходный код

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

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.WorldEventsConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEventAsset;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.SingleArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
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 it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
class="kw">import java.util.Collection;
class="kw">import java.util.List;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WorldEventCommand class="kw">extends AbstractCommandCollection {
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
   class="kw">private class="kw">static class="kw">final int MAX_SUGGESTIONS = 20;
   class="kw">static class="kw">final ArgumentType<WorldEventAsset> ASSET_ARGUMENT_TYPE = new SingleArgumentType<WorldEventAsset>(
      "server.commands.worldevent.argtype.asset.name", "server.commands.worldevent.argtype.asset.usage", "Example_World_event"
   ) {
      @Nullable
      class="kw">public WorldEventAsset parse(String var1, ParseResult var2) {
         class="kw">return WorldEventAsset.ASSET_MAP.getAsset(var1);
      }

      @Override
      class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
         Set var5 = WorldEventAsset.ASSET_MAP.getAssetMap().keySet();
         WorldEventCommand.suggest(var2, var4, var5);
      }
   };
   class="kw">static class="kw">final ArgumentType<UUID> GLOBAL_EVENT_UUID_ARGUMENT_TYPE = new SingleArgumentType<UUID>(
      "server.commands.worldevent.argtype.globalUuid.name", "server.commands.worldevent.argtype.globalUuid.usage", "550e8400-e29b-41d4-a716-446655440000"
   ) {
      @Nullable
      class="kw">public UUID parse(String var1, ParseResult var2) {
         try {
            class="kw">return UUID.fromString(var1);
         } catch (IllegalArgumentException var4) {
            class="kw">return null;
         }
      }

      @Override
      class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
         try {
            ObjectOpenHashSet var5 = new ObjectOpenHashSet();

            for (World var7 : Universe.get().getWorlds().values()) {
               WorldEventsConfig var8 = var7.getGameplayConfig().getPluginConfig().get(WorldEventsConfig.class);
               if (var8 != null) {
                  for (WorldEventRecord var12 : var8.globalEvents()) {
                     if (var12.id() != null) {
                        String var13 = var12.id().toString();
                        if (var2.isEmpty() || var13.startsWith(var2)) {
                           var5.add(var13);
                        }
                     }
                  }
               }
            }

            WorldEventCommand.suggest(var2, var4, var5);
         } catch (Exception var14) {
            ((HytaleLogger.Api)((HytaleLogger.Api)WorldEventCommand.LOGGER.atWarning()).withCause(var14))
               .log("Exception collecting global world-event UUID suggestions");
         }
      }
   };
   class="kw">static class="kw">final ArgumentType<UUID> RUNNING_EVENT_UUID_ARGUMENT_TYPE = new SingleArgumentType<UUID>(
      "server.commands.worldevent.argtype.runningUuid.name", "server.commands.worldevent.argtype.runningUuid.usage", "550e8400-e29b-41d4-a716-446655440000"
   ) {
      @Nullable
      class="kw">public UUID parse(String var1, ParseResult var2) {
         try {
            class="kw">return UUID.fromString(var1);
         } catch (IllegalArgumentException var4) {
            class="kw">return null;
         }
      }

      @Override
      class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
         try {
            ObjectOpenHashSet var5 = new ObjectOpenHashSet();

            for (World var7 : Universe.get().getWorlds().values()) {
               WorldEventsConfig var8 = var7.getGameplayConfig().getPluginConfig().get(WorldEventsConfig.class);
               if (var8 != null) {
                  Store var9 = var7.getEntityStore().getStore();
                  WorldEventManager var10 = var9.getResource(WorldEventManager.getResourceType());
                  var10.forEach(var5, (var1x, var2x) -> {
                     String var3 = var1x.uuid.toString();
                     if (var2.isEmpty() || var3.startsWith(var2)) {
                        var2x.add(var3);
                     }
                  });
               }
            }

            WorldEventCommand.suggest(var2, var4, var5);
         } catch (Exception var11) {
            ((HytaleLogger.Api)((HytaleLogger.Api)WorldEventCommand.LOGGER.atWarning()).withCause(var11))
               .log("Exception collecting world-event UUID suggestions");
         }
      }
   };

   class="kw">public WorldEventCommand() {
      super("worldevent", "server.commands.worldevent.desc");
      this.setPermissionGroups("hytale:Admin");
      this.addSubCommand(new CancelCommand());
      this.addSubCommand(new ListCommand());
      this.addSubCommand(new PanelCommand());
      this.addSubCommand(new ResetCommand());
      this.addSubCommand(new StartCommand());
   }

   class="kw">private class="kw">static void suggest(@Nonnull String var0, @Nonnull SuggestionResult var1, @Nonnull Collection<String> var2) {
      List var3 = StringUtil.sortByFuzzyDistance(var0, var2);
      int var4 = 0;

      for (int var5 = Math.min(var3.size(), 20); var4 < var5; var4++) {
         var1.suggest(var3.get(var4));
      }
   }
}