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
)
);
}
}