PasteCommand class

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

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

extends: AbstractPlayerCommand

Поля (17)

МодификаторыТипИмя
private final RequiredArg<RelativeIntPosition> positionArg
private final FlagArg technicalFlag
int var10
RelativeIntPosition var10
int var11
Vector3i var11
int var12
boolean var12
boolean var13
ChunkStore var6
ChunkStore var6
Player var7
Player var7
TransformComponent var8
TransformComponent var8
Vector3d var9
Vector3d var9

Методы (4)

МодификаторыВозвратСигнатура
public PasteAtPositionCommandpublic PasteAtPositionCommand()
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
abstract super super("paste", "server.commands.paste.desc")
abstract super super("server.commands.paste.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.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
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.RelativeIntPosition;
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.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
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.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;

class="kw">public class PasteCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final FlagArg technicalFlag = this.withFlagArg("technical", "server.commands.paste.technical.desc");

   class="kw">public PasteCommand() {
      super("paste", "server.commands.paste.desc");
      this.setPermissionGroups("hytale:WorldEditor");
      this.requirePermission(HytalePermissions.EDITOR_SELECTION_CLIPBOARD);
      this.addUsageVariant(new PasteCommand.PasteAtPositionCommand());
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      ChunkStore var6 = var5.getChunkStore();
      Player var7 = var2.getComponent(var3, Player.getComponentType());
      assert var7 != null;
      TransformComponent var8 = var2.getComponent(var3, TransformComponent.getComponentType());
      assert var8 != null;
      Vector3d var9 = var8.getPosition();
      int var10 = MathUtil.floor(var9.x);
      int var11 = MathUtil.floor(var9.y);
      int var12 = MathUtil.floor(var9.z);
      boolean var13 = this.technicalFlag.get(var1);
      BuilderToolsPlugin.addToQueue(var7, var4, (var4x, var5x, var6x) -> var5x.paste(var4x, var10, var11, var12, var13, var6x));
   }

   class="kw">private class="kw">static class PasteAtPositionCommand class="kw">extends AbstractPlayerCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<RelativeIntPosition> positionArg = this.withRequiredArg(
         "position", "server.commands.paste.position.desc", ArgTypes.RELATIVE_BLOCK_POSITION
      );
      @Nonnull
      class="kw">private class="kw">final FlagArg technicalFlag = this.withFlagArg("technical", "server.commands.paste.technical.desc");

      class="kw">public PasteAtPositionCommand() {
         super("server.commands.paste.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         ChunkStore var6 = var5.getChunkStore();
         Player var7 = var2.getComponent(var3, Player.getComponentType());
         assert var7 != null;
         TransformComponent var8 = var2.getComponent(var3, TransformComponent.getComponentType());
         assert var8 != null;
         Vector3d var9 = var8.getPosition();
         RelativeIntPosition var10 = this.positionArg.get(var1);
         Vector3i var11 = var10.getBlockPosition(var9, var6);
         boolean var12 = this.technicalFlag.get(var1);
         BuilderToolsPlugin.addToQueue(var7, var4, (var2x, var3x, var4x) -> var3x.paste(var2x, var11.x, var11.y, var11.z, var12, var4x));
      }
   }
}