TpCinematicCommand class
Пакет: com.hypixel.hytale.builtin.adventure.camera.command
Файл: com/hypixel/hytale/builtin/adventure/camera/command/TpCinematicCommand.java
extends: AbstractPlayerCommand
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var10 |
|
double |
var12 |
|
float |
var14 |
|
CinematicPath |
var15 |
|
TransformComponent |
var6 |
|
Vector3d |
var7 |
|
double |
var8 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var6 != null) |
abstract |
|
super super("tpcinematic", "server.commands.tpcinematic.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.camera.command;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.CinematicPath;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.CinematicTeleport;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
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.OptionalArg;
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.Coord;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
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">public class TpCinematicCommand class="kw">extends AbstractPlayerCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<Coord> xArg = this.withRequiredArg("x", "server.commands.tpcinematic.x.desc", ArgTypes.RELATIVE_DOUBLE_COORD)
.withSuggestionOverride(ArgTypes.RELATIVE_POSITION);
@Nonnull
class="kw">private class="kw">final RequiredArg<Coord> yArg = this.withRequiredArg("y", "server.commands.tpcinematic.y.desc", ArgTypes.RELATIVE_DOUBLE_COORD);
@Nonnull
class="kw">private class="kw">final RequiredArg<Coord> zArg = this.withRequiredArg("z", "server.commands.tpcinematic.z.desc", ArgTypes.RELATIVE_DOUBLE_COORD);
@Nonnull
class="kw">private class="kw">final OptionalArg<Double> heightArg = this.withOptionalArg("height", "server.commands.tpcinematic.height.desc", ArgTypes.DOUBLE);
@Nonnull
class="kw">private class="kw">final OptionalArg<String> styleArg = this.withOptionalArg("style", "server.commands.tpcinematic.style.desc", ArgTypes.STRING);
class="kw">public TpCinematicCommand() {
super("tpcinematic", "server.commands.tpcinematic.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
) {
TransformComponent var6 = var2.getComponent(var3, TransformComponent.getComponentType());
if (var6 != null) {
Vector3d var7 = new Vector3d(var6.getPosition());
double var8 = this.xArg.get(var1).resolveXZ(var7.x());
double var10 = this.zArg.get(var1).resolveXZ(var7.z());
double var12 = this.yArg.get(var1).resolveYAtWorldCoords(var7.y(), var5, var8, var10);
float var14 = this.heightArg.provided(var1) ? this.heightArg.get(var1).floatValue() : 45.0F;
CinematicPath var15 = CinematicPath.fromString(this.styleArg.provided(var1) ? this.styleArg.get(var1) : null, CinematicPath.FLYOVER);
if (Double.isFinite(var8) && Double.isFinite(var12) && Double.isFinite(var10) && Float.isFinite(var14)) {
CinematicTeleport.play(var4, new Vector3d(var8, var12, var10), var15, var14);
var1.sendMessage(Message.translation("server.commands.tpcinematic.success").param("x", var8).param("y", var12).param("z", var10));
} else {
var1.sendMessage(Message.translation("server.commands.tpcinematic.invalidCoordinates"));
}
}
}
}