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