PermGroupCommand class

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

Файл: com/hypixel/hytale/server/core/permissions/commands/PermGroupCommand.java

extends: AbstractCommandCollection

Поля (12)

МодификаторыТипИмя
private final RequiredArg<String> groupArg
private final RequiredArg<String> groupArg
private final RequiredArg<String> groupArg
private final RequiredArg<List<String>> permissionsArg
private final RequiredArg<List<String>> permissionsArg
String var2
String var2
String var2
HashSet var3
HashSet var3
Message var5
Set var6

Методы (10)

МодификаторыВозвратСигнатура
public PermGroupAddCommandpublic PermGroupAddCommand()
public PermGroupListCommandpublic PermGroupListCommand()
public PermGroupRemoveCommandpublic PermGroupRemoveCommand()
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
protected void executeSyncprotected void executeSync(@Nonnull CommandContext var1)
abstract super super("group", "server.commands.perm.group.desc")
abstract super super("add", "server.commands.perm.group.add.desc")
abstract super super("list", "server.commands.perm.group.list.desc")
abstract super super("remove", "server.commands.perm.group.remove.desc")

Исходный код

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

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.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.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionsModule;
class="kw">import com.hypixel.hytale.server.core.permissions.provider.PermissionProvider;
class="kw">import com.hypixel.hytale.server.core.util.message.MessageFormat;
class="kw">import java.util.HashSet;
class="kw">import java.util.List;
class="kw">import java.util.Set;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PermGroupCommand class="kw">extends AbstractCommandCollection {
   class="kw">public PermGroupCommand() {
      super("group", "server.commands.perm.group.desc");
      this.addSubCommand(new PermGroupCommand.PermGroupListCommand());
      this.addSubCommand(new PermGroupCommand.PermGroupAddCommand());
      this.addSubCommand(new PermGroupCommand.PermGroupRemoveCommand());
   }

   class="kw">private class="kw">static class PermGroupAddCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<String> groupArg = this.withRequiredArg("group", "server.commands.perm.group.add.group.desc", ArgTypes.STRING);
      @Nonnull
      class="kw">private class="kw">final RequiredArg<List<String>> permissionsArg = this.withListRequiredArg(
         "permissions", "server.commands.perm.group.add.permissions.desc", ArgTypes.STRING
      );

      class="kw">public PermGroupAddCommand() {
         super("add", "server.commands.perm.group.add.desc");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         String var2 = this.groupArg.get(var1);
         HashSet var3 = new HashSet<>(this.permissionsArg.get(var1));
         PermissionsModule.get().addGroupPermission(var2, var3);
         var1.sendMessage(Message.translation("server.commands.perm.addPermToGroup").param("group", var2));
      }
   }

   class="kw">private class="kw">static class PermGroupListCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<String> groupArg = this.withRequiredArg("group", "server.commands.perm.group.list.group.desc", ArgTypes.STRING);

      class="kw">public PermGroupListCommand() {
         super("list", "server.commands.perm.group.list.desc");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         String var2 = this.groupArg.get(var1);

         for (PermissionProvider var4 : PermissionsModule.get().getProviders()) {
            Message var5 = Message.raw(var4.getName());
            Set var6 = var4.getGroupPermissions(var2).stream().map(Message::raw).collect(Collectors.toSet());
            var1.sendMessage(MessageFormat.list(var5, var6));
         }
      }
   }

   class="kw">private class="kw">static class PermGroupRemoveCommand class="kw">extends CommandBase {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<String> groupArg = this.withRequiredArg("group", "server.commands.perm.group.remove.group.desc", ArgTypes.STRING);
      @Nonnull
      class="kw">private class="kw">final RequiredArg<List<String>> permissionsArg = this.withListRequiredArg(
         "permissions", "server.commands.perm.group.remove.permissions.desc", ArgTypes.STRING
      );

      class="kw">public PermGroupRemoveCommand() {
         super("remove", "server.commands.perm.group.remove.desc");
      }

      @Override
      class="kw">protected void executeSync(@Nonnull CommandContext var1) {
         String var2 = this.groupArg.get(var1);
         HashSet var3 = new HashSet<>(this.permissionsArg.get(var1));
         PermissionsModule.get().removeGroupPermission(var2, var3);
         var1.sendMessage(Message.translation("server.commands.perm.permRemovedFromGroup").param("group", var2));
      }
   }
}