PlayerViewRadiusSetCommand class

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

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

extends: AbstractTargetPlayerCommand

Поля (12)

МодификаторыТипИмя
return
boolean var10
boolean var11
int var12
var12
var12
int var13
int var14
int var16
Player var7
EntityTrackerSystems.EntityViewer var8
String var9

Методы (2)

МодификаторыВозвратСигнатура
if if(var12 > var16 && !var11)
abstract super super("set", "server.commands.player.viewradius.set.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.packets.setup.ViewRadius;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
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.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.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.EntityTrackerSystems;
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 PlayerViewRadiusSetCommand class="kw">extends AbstractTargetPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> radiusArg = this.withRequiredArg("radius", "server.commands.player.viewradius.set.radius.desc", ArgTypes.STRING);
   @Nonnull
   class="kw">private class="kw">final FlagArg blocksArg = this.withFlagArg("blocks", "server.commands.player.viewradius.set.blocks.desc");
   @Nonnull
   class="kw">private class="kw">final FlagArg bypassArg = this.withFlagArg("bypass", "server.commands.player.viewradius.set.bypass.desc");

   class="kw">public PlayerViewRadiusSetCommand() {
      super("set", "server.commands.player.viewradius.set.desc");
   }

   @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
   ) {
      Player var7 = var6.getComponent(var3, Player.getComponentType());
      assert var7 != null;
      EntityTrackerSystems.EntityViewer var8 = var6.getComponent(var3, EntityTrackerSystems.EntityViewer.getComponentType());
      assert var8 != null;
      String var9 = this.radiusArg.get(var1);
      boolean var10 = this.blocksArg.get(var1);
      boolean var11 = this.bypassArg.get(var1);
      int var12;
      if ("class="kw">default".equalsIgnoreCase(var9)) {
         var12 = 32;
      } else {
         try {
            int var13 = Integer.parseInt(var9);
            var12 = var10 ? (int)Math.ceil(var13 / 32.0F) : var13;
         } catch (NumberFormatException var15) {
            var1.sendMessage(Message.translation("server.commands.player.viewradius.set.invalidNumber").param("value", var9));
            class="kw">return;
         }
      }

      int var16 = HytaleServer.get().getConfig().getMaxViewRadius();
      if (var12 > var16 && !var11) {
         var1.sendMessage(Message.translation("server.commands.player.viewradius.set.noHigherThan").param("radius", var16));
      } else {
         int var14 = var12 * 32;
         var7.setClientViewRadius(var12);
         var8.viewRadiusBlocks = var14;
         var4.getPacketHandler().writeNoCache(new ViewRadius(var14));
         var1.sendMessage(Message.translation("server.commands.player.viewradius.set.success").param("radius", var12).param("radiusBlocks", var14));
      }
   }
}