OpSelfCommand class

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

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

extends: AbstractPlayerCommand

Поля (6)

МодификаторыТипИмя
final Message MESSAGE_COMMANDS_OP_ADDED
boolean var10
UUID var6
PermissionsModule var7
String var8
Set var9

Методы (4)

МодификаторыВозвратСигнатура
if if(!Constants.SINGLEPLAYER && !Constants.ALLOWS_SELF_OP_COMMAND)
if if(var10)
if if(var10)
abstract super super("self", "server.commands.op.self.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.Constants;
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.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.modules.singleplayer.SingleplayerModule;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionsModule;
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 java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;

class="kw">public class OpSelfCommand class="kw">extends AbstractPlayerCommand {
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_OP_ADDED = Message.translation("server.commands.op.self.added");
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_OP_REMOVED = Message.translation("server.commands.op.self.removed");
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_NON_VANILLA_PERMISSIONS = Message.translation("server.commands.op.self.nonVanillaPermissions");
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_SINGLEPLAYER_OWNER_REQ = Message.translation("server.commands.op.self.singleplayerOwnerReq");
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_CURRENTLY_OP = Message.translation("server.commands.op.self.currentlyOpNote");

   class="kw">public OpSelfCommand() {
      super("self", "server.commands.op.self.desc");
      this.requireNoPermission();
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      if (PermissionsModule.get().areProvidersTampered()) {
         var4.sendMessage(MESSAGE_COMMANDS_NON_VANILLA_PERMISSIONS);
      } else if (Constants.SINGLEPLAYER && !SingleplayerModule.isOwner(var4)) {
         var4.sendMessage(MESSAGE_COMMANDS_SINGLEPLAYER_OWNER_REQ);
      } else {
         UUID var6 = var4.getUuid();
         PermissionsModule var7 = PermissionsModule.get();
         String var8 = "hytale:Admin";
         Set var9 = var7.getGroupsForUser(var6);
         boolean var10 = var9.contains("hytale:Admin");
         if (!Constants.SINGLEPLAYER && !Constants.ALLOWS_SELF_OP_COMMAND) {
            var4.sendMessage(
               Message.translation("server.commands.op.self.multiplayerTip")
                  .param("uuidCommand", "uuid")
                  .param("permissionFile", "permissions.json")
                  .param("launchArg", "--allow-op")
            );
            if (var10) {
               var4.sendMessage(MESSAGE_COMMANDS_CURRENTLY_OP);
            }
         } else {
            if (var10) {
               var7.removeUserFromGroup(var6, "hytale:Admin");
               var1.sendMessage(MESSAGE_COMMANDS_OP_REMOVED);
            } else {
               var7.addUserToGroup(var6, "hytale:Admin");
               var1.sendMessage(MESSAGE_COMMANDS_OP_ADDED);
            }
         }
      }
   }
}