EditLineCommand class

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

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

extends: AbstractPlayerCommand

Поля (16)

МодификаторыТипИмя
int var10
int var11
Vector3i var12
Vector3i var13
BlockPattern var14
int var15
int var16
int var17
BrushShape var18
BrushOrigin var19
int var20
int var21
Player var6
TransformComponent var7
Vector3d var8
int var9

Методы (1)

МодификаторыВозвратСигнатура
abstract super super("editline", "server.commands.editline.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.protocol.packets.buildertools.BrushOrigin;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BrushShape;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.DefaultArg;
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.RelativeVector3i;
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.prefab.selection.mask.BlockPattern;
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 org.joml.Vector3d;
class="kw">import org.joml.Vector3i;

class="kw">public class EditLineCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<RelativeVector3i> startArg = this.withRequiredArg("start", "server.commands.editline.start.desc", ArgTypes.RELATIVE_VECTOR3I);
   @Nonnull
   class="kw">private class="kw">final RequiredArg<RelativeVector3i> endArg = this.withRequiredArg("end", "server.commands.editline.end.desc", ArgTypes.RELATIVE_VECTOR3I);
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> materialArg = this.withRequiredArg("material", "server.commands.editline.material.desc", ArgTypes.STRING);
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Integer> widthArg = this.withDefaultArg("width", "server.commands.editline.width.desc", ArgTypes.INTEGER, 1, "1");
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Integer> heightArg = this.withDefaultArg("height", "server.commands.editline.height.desc", ArgTypes.INTEGER, 1, "1");
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Integer> wallThicknessArg = this.withDefaultArg(
      "wallThickness", "server.commands.editline.wallThickness.desc", ArgTypes.INTEGER, 0, "0"
   );
   @Nonnull
   class="kw">private class="kw">final DefaultArg<String> shapeArg = this.withDefaultArg("shape", "server.commands.editline.shape.desc", ArgTypes.STRING, "Cube", "Cube");
   @Nonnull
   class="kw">private class="kw">final DefaultArg<String> originArg = this.withDefaultArg("origin", "server.commands.editline.origin.desc", ArgTypes.STRING, "Center", "Center");
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Integer> spacingArg = this.withDefaultArg("spacing", "server.commands.editline.spacing.desc", ArgTypes.INTEGER, 1, "1");
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Integer> densityArg = this.withDefaultArg("density", "server.commands.editline.density.desc", ArgTypes.INTEGER, 100, "100");

   class="kw">public EditLineCommand() {
      super("editline", "server.commands.editline.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
   ) {
      Player var6 = var2.getComponent(var3, Player.getComponentType());
      assert var6 != null;
      TransformComponent var7 = var2.getComponent(var3, TransformComponent.getComponentType());
      assert var7 != null;
      Vector3d var8 = var7.getPosition();
      int var9 = MathUtil.floor(var8.x());
      int var10 = MathUtil.floor(var8.y());
      int var11 = MathUtil.floor(var8.z());
      Vector3i var12 = this.startArg.get(var1).resolve(var9, var10, var11);
      Vector3i var13 = this.endArg.get(var1).resolve(var9, var10, var11);
      BlockPattern var14 = BlockPattern.parse(this.materialArg.get(var1));
      int var15 = this.widthArg.get(var1);
      int var16 = this.heightArg.get(var1);
      int var17 = this.wallThicknessArg.get(var1);
      BrushShape var18 = BrushShape.valueOf(this.shapeArg.get(var1));
      BrushOrigin var19 = BrushOrigin.valueOf(this.originArg.get(var1));
      int var20 = this.spacingArg.get(var1);
      int var21 = this.densityArg.get(var1);
      BuilderToolsPlugin.addToQueue(
         var6,
         var4,
         (var10x, var11x, var12x) -> var11x.editLine(
            var12.x, var12.y, var12.z, var13.x, var13.y, var13.z, var14, var15, var16, var17, var18, var19, var20, var21, var11x.getGlobalMask(), var12x
         )
      );
   }
}