PluginCommand class

Пакет: com.hypixel.hytale.server.core.plugin.commands

Файл: com/hypixel/hytale/server/core/plugin/commands/PluginCommand.java

extends: AbstractCommandCollection

Поля (37)

МодификаторыТипИмя
private final FlagArg bootFlag
private final FlagArg bootFlag
break
break
break
break
break
break
break
break
break
break
break
break
break
break
private final RequiredArg<PluginIdentifier> pluginNameArg
private final RequiredArg<PluginIdentifier> pluginNameArg
private final RequiredArg<PluginIdentifier> pluginNameArg
return
return
PluginManager var2
PluginManager var2
PluginManager var2
PluginManager var2
Set var3
PluginIdentifier var3
PluginIdentifier var3
PluginIdentifier var3
PluginBase var4
PluginBase var4
PluginBase var4
boolean var5
boolean var5
HytaleServerConfig var6
Player var6
HytaleServerConfig var6

Методы (23)

МодификаторыВозвратСигнатура
public PluginListCommandpublic PluginListCommand()
public PluginLoadCommandpublic PluginLoadCommand()
public PluginManageCommandpublic PluginManageCommand()
public PluginReloadCommandpublic PluginReloadCommand()
public PluginUnloadCommandpublic PluginUnloadCommand()
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
if if(var3 != null)
if if(var5)
if if(var4 != null)
if if(var3 != null)
if if(var5)
if if(var4 != null)
public PluginIdentifier parsepublic PluginIdentifier parse(@Nonnull String var1, @Nonnull ParseResult var2)
abstract super super("plugin", "server.commands.plugin.desc")
abstract super super("list", "server.commands.plugin.list.desc")
abstract super super("load", "server.commands.plugin.load.desc")
abstract super super("manage", "server.commands.plugin.manage.desc")
abstract super super("reload", "server.commands.plugin.reload.desc")
abstract super super("unload", "server.commands.plugin.unload.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.plugin.commands;

class="kw">import com.hypixel.hytale.common.plugin.PluginIdentifier;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.HytaleServerConfig;
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.ParseResult;
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.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.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginBase;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginManager;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginState;
class="kw">import com.hypixel.hytale.server.core.plugin.pages.PluginListPage;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
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.core.util.message.MessageFormat;
class="kw">import java.util.Set;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PluginCommand class="kw">extends AbstractCommandCollection {
   @Nonnull
   class="kw">private class="kw">static class="kw">final SingleArgumentType<PluginIdentifier> PLUGIN_IDENTIFIER_ARG_TYPE = new SingleArgumentType<PluginIdentifier>(
      "server.commands.parsing.argtype.pluginidentifier.name", "server.commands.parsing.argtype.pluginidentifier.usage"
   ) {
      @Nonnull
      class="kw">public PluginIdentifier parse(@Nonnull String var1, @Nonnull ParseResult var2) {
         try {
            class="kw">return PluginIdentifier.fromString(var1);
         } catch (Exception var4) {
            var2.fail(Message.translation("server.commands.parsing.argtype.pluginidentifier.fail").param("input", var1).param("error", var4.getMessage()));
            class="kw">return null;
         }
      }
   };

   class="kw">public PluginCommand() {
      super("plugin", "server.commands.plugin.desc");
      this.addAliases("plugins", "pl");
      this.addSubCommand(new PluginCommand.PluginListCommand());
      this.addSubCommand(new PluginCommand.PluginLoadCommand());
      this.addSubCommand(new PluginCommand.PluginUnloadCommand());
      this.addSubCommand(new PluginCommand.PluginReloadCommand());
      this.addSubCommand(new PluginCommand.PluginManageCommand());
   }

   class="kw">private class="kw">static class PluginListCommand class="kw">extends CommandBase {
      class="kw">public PluginListCommand() {
         super("list", "server.commands.plugin.list.desc");
         this.addAliases("ls");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         PluginManager var2 = PluginManager.get();
         Set var3 = var2.getPlugins().stream().map(PluginBase::getIdentifier).map(PluginIdentifier::toString).map(Message::raw).collect(Collectors.toSet());
         var1.sendMessage(MessageFormat.list(Message.translation("server.commands.plugin.plugins"), var3));
      }
   }

   class="kw">private class="kw">static class PluginLoadCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<PluginIdentifier> pluginNameArg = this.withRequiredArg(
         "pluginName", "server.commands.plugin.load.pluginName.desc", PluginCommand.PLUGIN_IDENTIFIER_ARG_TYPE
      );
      @Nonnull
      class="kw">private class="kw">final FlagArg bootFlag = this.withFlagArg("boot", "server.commands.plugin.load.boot.desc");

      class="kw">public PluginLoadCommand() {
         super("load", "server.commands.plugin.load.desc");
         this.addAliases("l");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         PluginManager var2 = PluginManager.get();
         PluginIdentifier var3 = this.pluginNameArg.get(var1);
         PluginBase var4 = var2.getPlugin(var3);
         if (var3 != null) {
            boolean var5 = this.bootFlag.get(var1);
            HytaleServerConfig var6 = HytaleServer.get().getConfig();
            HytaleServerConfig.setBoot(var6, var3, true);
            if (var6.consumeHasChanged()) {
               HytaleServerConfig.save(var6).join();
            }

            var1.sendMessage(Message.translation("server.commands.plugin.bootListEnabled").param("id", var3.toString()));
            if (var5) {
               class="kw">return;
            }
         }

         if (var4 != null && var4.getState() != PluginState.DISABLED) {
            assert var3 != null;
            class="kw">switch (var4.getState()) {
               case NONE:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToLoadInvalidState").param("id", var3.toString()));
                  break;
               case SETUP:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToLoadSetup").param("id", var3.toString()));
                  break;
               case START:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToLoadStarted").param("id", var3.toString()));
                  break;
               case ENABLED:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToLoadAlreadyEnabled").param("id", var3.toString()));
                  break;
               class="kw">default:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedPluginState").param("state", var4.getState().toString()));
            }
         } else {
            var1.sendMessage(Message.translation("server.commands.plugin.pluginLoading").param("id", var3.toString()));
            if (var2.load(var3)) {
               var1.sendMessage(Message.translation("server.commands.plugin.pluginLoaded").param("id", var3.toString()));
            } else {
               var1.sendMessage(Message.translation("server.commands.plugin.failedToLoadPlugin").param("id", var3.toString()));
            }
         }
      }
   }

   class="kw">private class="kw">static class PluginManageCommand class="kw">extends AbstractPlayerCommand {
      class="kw">public PluginManageCommand() {
         super("manage", "server.commands.plugin.manage.desc");
         this.addAliases("m");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         Player var6 = var2.getComponent(var3, Player.getComponentType());
         assert var6 != null;
         var6.getPageManager().openCustomPage(var3, var2, new PluginListPage(var4));
      }
   }

   class="kw">private class="kw">static class PluginReloadCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<PluginIdentifier> pluginNameArg = this.withRequiredArg(
         "pluginName", "server.commands.plugin.reload.pluginName.desc", PluginCommand.PLUGIN_IDENTIFIER_ARG_TYPE
      );

      class="kw">public PluginReloadCommand() {
         super("reload", "server.commands.plugin.reload.desc");
         this.addAliases("r");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         PluginManager var2 = PluginManager.get();
         PluginIdentifier var3 = this.pluginNameArg.get(var1);
         PluginBase var4 = var2.getPlugin(var3);
         if (var4 != null) {
            class="kw">switch (var4.getState()) {
               case NONE:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToReloadState").param("id", var3.toString()));
                  break;
               case SETUP:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToReloadSetup").param("id", var3.toString()));
                  break;
               case START:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToReloadStarted").param("id", var3.toString()));
                  break;
               case ENABLED:
                  if (var2.reload(var3)) {
                     var1.sendMessage(Message.translation("server.commands.plugin.pluginReloaded").param("id", var3.toString()));
                  } else {
                     var1.sendMessage(Message.translation("server.commands.plugin.failedToReload").param("id", var3.toString()));
                  }
                  break;
               case DISABLED:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToReloadDisabled").param("id", var3.toString()));
                  break;
               class="kw">default:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedPluginState").param("state", var4.getState().toString()));
            }
         } else {
            var1.sendMessage(Message.translation("server.commands.plugin.notLoaded").param("id", var3.toString()));
         }
      }
   }

   class="kw">private class="kw">static class PluginUnloadCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<PluginIdentifier> pluginNameArg = this.withRequiredArg(
         "pluginName", "server.commands.plugin.unload.pluginName.desc", PluginCommand.PLUGIN_IDENTIFIER_ARG_TYPE
      );
      @Nonnull
      class="kw">private class="kw">final FlagArg bootFlag = this.withFlagArg("boot", "server.commands.plugin.unload.boot.desc");

      class="kw">public PluginUnloadCommand() {
         super("unload", "server.commands.plugin.unload.desc");
         this.addAliases("u");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         PluginManager var2 = PluginManager.get();
         PluginIdentifier var3 = this.pluginNameArg.get(var1);
         PluginBase var4 = var2.getPlugin(var3);
         if (var3 != null) {
            boolean var5 = this.bootFlag.get(var1);
            HytaleServerConfig var6 = HytaleServer.get().getConfig();
            HytaleServerConfig.setBoot(var6, var3, false);
            if (var6.consumeHasChanged()) {
               HytaleServerConfig.save(var6).join();
            }

            var1.sendMessage(Message.translation("server.commands.plugin.bootListDisabled").param("id", var3.toString()));
            if (var5) {
               class="kw">return;
            }
         }

         if (var4 != null) {
            class="kw">switch (var4.getState()) {
               case NONE:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToUnloadState").param("id", var3.toString()));
                  break;
               case SETUP:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToUnloadSetup").param("id", var3.toString()));
                  break;
               case START:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToUnloadStarted").param("id", var3.toString()));
                  break;
               case ENABLED:
                  var1.sendMessage(Message.translation("server.commands.plugin.pluginUnloading").param("id", var3.toString()));
                  if (var2.unload(var3)) {
                     var1.sendMessage(Message.translation("server.commands.plugin.pluginUnloaded").param("id", var3.toString()));
                  } else {
                     var1.sendMessage(Message.translation("server.commands.plugin.failedToUnload").param("id", var3.toString()));
                  }
                  break;
               case DISABLED:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedToUnloadDisabled").param("id", var3.toString()));
                  break;
               class="kw">default:
                  var1.sendMessage(Message.translation("server.commands.plugin.failedPluginState").param("state", var4.getState().toString()));
            }
         } else {
            var1.sendMessage(Message.translation("server.commands.plugin.notLoaded").param("id", var3.toString()));
         }
      }
   }
}