MoveCommand class

Пакет: com.hypixel.hytale.builtin.buildertools.commands

Файл: com/hypixel/hytale/builtin/buildertools/commands/MoveCommand.java

extends: AbstractPlayerCommand

Поля (10)

МодификаторыТипИмя
private final RequiredArg<RelativeDirection> directionArg
private final RequiredArg<Integer> distanceArg
private final RequiredArg<Integer> distanceArg
private final FlagArg emptyFlag
private final FlagArg emptyFlag
private final FlagArg entitiesFlag
private final FlagArg entitiesFlag
Player var7
HeadRotation var8
Vector3i var9

Методы (7)

МодификаторыВозвратСигнатура
public MoveWithDirectionAndDistanceCommandpublic MoveWithDirectionAndDistanceCommand()
public MoveWithDistanceCommandpublic MoveWithDistanceCommand()
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
static void executeMovevoid executeMove(@Nonnull Store<EntityStore> var0, @Nonnull Ref<EntityStore> var1, @Nonnull PlayerRef var2, @Nullable RelativeDirection var3, int var4, boolean var5, boolean var6)
abstract super super("move", "server.commands.move.desc")
abstract super super("server.commands.move.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin;
class="kw">import com.hypixel.hytale.builtin.buildertools.PrototypePlayerBuilderToolSettings;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
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.arguments.types.RelativeDirection;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HeadRotation;
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">import org.joml.Vector3i;

class="kw">public class MoveCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final FlagArg emptyFlag = this.withFlagArg("empty", "server.commands.move.empty.desc");
   @Nonnull
   class="kw">private class="kw">final FlagArg entitiesFlag = this.withFlagArg("entities", "server.commands.move.entities.desc");

   class="kw">public MoveCommand() {
      super("move", "server.commands.move.desc");
      this.setPermissionGroups("hytale:WorldEditor");
      this.addUsageVariant(new MoveCommand.MoveWithDistanceCommand());
      this.addUsageVariant(new MoveCommand.MoveWithDirectionAndDistanceCommand());
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      executeMove(var2, var3, var4, null, 1, this.emptyFlag.get(var1), this.entitiesFlag.get(var1));
   }

   class="kw">private class="kw">static void executeMove(
      @Nonnull Store<EntityStore> var0,
      @Nonnull Ref<EntityStore> var1,
      @Nonnull PlayerRef var2,
      @Nullable RelativeDirection var3,
      int var4,
      boolean var5,
      boolean var6
   ) {
      Player var7 = var0.getComponent(var1, Player.getComponentType());
      assert var7 != null;
      if (PrototypePlayerBuilderToolSettings.isOkayToDoCommandsOnSelection(var1, var2, var0)) {
         HeadRotation var8 = var0.getComponent(var1, HeadRotation.getComponentType());
         assert var8 != null;
         Vector3i var9 = RelativeDirection.toDirectionVector(var3, var8).mul(var4);
         BuilderToolsPlugin.addToQueue(var7, var2, (var3x, var4x, var5x) -> var4x.move(var3x, var9, var5, var6, var5x));
      }
   }

   class="kw">private class="kw">static class MoveWithDirectionAndDistanceCommand class="kw">extends AbstractPlayerCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<RelativeDirection> directionArg = this.withRequiredArg(
         "direction", "server.commands.move.direction.desc", RelativeDirection.ARGUMENT_TYPE
      );
      @Nonnull
      class="kw">private class="kw">final RequiredArg<Integer> distanceArg = this.withRequiredArg("distance", "server.commands.move.distance.desc", ArgTypes.INTEGER);
      @Nonnull
      class="kw">private class="kw">final FlagArg emptyFlag = this.withFlagArg("empty", "server.commands.move.empty.desc");
      @Nonnull
      class="kw">private class="kw">final FlagArg entitiesFlag = this.withFlagArg("entities", "server.commands.move.entities.desc");

      class="kw">public MoveWithDirectionAndDistanceCommand() {
         super("server.commands.move.desc");
         this.setPermissionGroups("hytale:WorldEditor");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         MoveCommand.executeMove(
            var2, var3, var4, this.directionArg.get(var1), this.distanceArg.get(var1), this.emptyFlag.get(var1), this.entitiesFlag.get(var1)
         );
      }
   }

   class="kw">private class="kw">static class MoveWithDistanceCommand class="kw">extends AbstractPlayerCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<Integer> distanceArg = this.withRequiredArg("distance", "server.commands.move.distance.desc", ArgTypes.INTEGER);
      @Nonnull
      class="kw">private class="kw">final FlagArg emptyFlag = this.withFlagArg("empty", "server.commands.move.empty.desc");
      @Nonnull
      class="kw">private class="kw">final FlagArg entitiesFlag = this.withFlagArg("entities", "server.commands.move.entities.desc");

      class="kw">public MoveWithDistanceCommand() {
         super("server.commands.move.desc");
         this.setPermissionGroups("hytale:WorldEditor");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         MoveCommand.executeMove(var2, var3, var4, null, this.distanceArg.get(var1), this.emptyFlag.get(var1), this.entitiesFlag.get(var1));
      }
   }
}