ReferCommand class

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

Файл: com/hypixel/hytale/server/core/command/commands/player/ReferCommand.java

extends: AbstractTargetPlayerCommand

Поля (4)

МодификаторыТипИмя
final PermissionQuery REFER_OTHER
String var7
int var8
boolean var9

Методы (4)

МодификаторыВозвратСигнатура
if if(var9)
if if(var8 > 0 && var8 <= 65535)
if if(var9)
abstract super super("refer", "server.commands.refer.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.component.Ref;
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.CommandUtil;
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.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionQuery;
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 javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ReferCommand class="kw">extends AbstractTargetPlayerCommand {
   class="kw">private class="kw">static class="kw">final PermissionQuery REFER_OTHER = PermissionQuery.of(HytalePermissions.fromCommand("refer.other"));
   class="kw">private class="kw">static class="kw">final PermissionQuery REFER_SELF = PermissionQuery.of(HytalePermissions.fromCommand("refer.self"));
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> hostArg = this.withRequiredArg("host", "server.commands.refer.host.desc", ArgTypes.STRING);
   @Nonnull
   class="kw">private class="kw">final RequiredArg<Integer> portArg = this.withRequiredArg("port", "server.commands.refer.port.desc", ArgTypes.INTEGER);

   class="kw">public ReferCommand() {
      super("refer", "server.commands.refer.desc");
      this.addAliases("transfer");
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1,
      @Nullable Ref<EntityStore> var2,
      @Nonnull Ref<EntityStore> var3,
      @Nonnull PlayerRef var4,
      @Nonnull World var5,
      @Nonnull Store<EntityStore> var6
   ) {
      String var7 = this.hostArg.get(var1);
      int var8 = this.portArg.get(var1);
      boolean var9 = !var3.equals(var2);
      if (var9) {
         CommandUtil.requirePermission(var1.sender(), REFER_OTHER);
      } else {
         CommandUtil.requirePermission(var1.sender(), REFER_SELF);
      }

      if (var8 > 0 && var8 <= 65535) {
         try {
            var4.referToServer(var7, var8);
            if (var9) {
               var1.sendMessage(
                  Message.translation("server.commands.refer.success.other").param("username", var4.getUsername()).param("host", var7).param("port", var8)
               );
            } else {
               var1.sendMessage(Message.translation("server.commands.refer.success.self").param("host", var7).param("port", var8));
            }
         } catch (Exception var11) {
            var1.sendMessage(Message.translation("server.commands.refer.failed").param("error", var11.getMessage()));
         }
      } else {
         var1.sendMessage(Message.translation("server.commands.refer.invalidPort"));
      }
   }
}