CheckpointAddCommand class

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

Файл: com/hypixel/hytale/builtin/parkour/commands/CheckpointAddCommand.java

extends: AbstractPlayerCommand

Поля (8)

МодификаторыТипИмя
Rotation3f var10
Holder var11
Model var12
TransformComponent var13
Integer var6
Int2ObjectMap var7
TransformComponent var8
Vector3d var9

Методы (1)

МодификаторыВозвратСигнатура
abstract super super("add", "server.commands.checkpoint.add.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.parkour.commands;

class="kw">import com.hypixel.hytale.builtin.parkour.ParkourCheckpoint;
class="kw">import com.hypixel.hytale.builtin.parkour.ParkourPlugin;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.Model;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
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.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.entity.nameplate.Nameplate;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HiddenFromAdventurePlayers;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Intangible;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentModel;
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 it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class CheckpointAddCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_CHECKPOINT_ADD_FAILED = Message.translation("server.commands.checkpoint.add.failed");
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_CHECKPOINT_ADD_SUCCESS = Message.translation("server.commands.checkpoint.add.success");
   @Nonnull
   class="kw">private class="kw">final RequiredArg<Integer> indexArg = this.withRequiredArg("index", "server.commands.checkpoint.add.index.desc", ArgTypes.INTEGER);

   class="kw">public CheckpointAddCommand() {
      super("add", "server.commands.checkpoint.add.desc");
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      Integer var6 = this.indexArg.get(var1);
      Int2ObjectMap var7 = ParkourPlugin.get().getCheckpointUUIDMap();
      if (var7.containsKey(var6)) {
         var1.sendMessage(MESSAGE_COMMANDS_CHECKPOINT_ADD_FAILED);
      } else {
         TransformComponent var8 = var2.getComponent(var3, TransformComponent.getComponentType());
         assert var8 != null;
         Vector3d var9 = var8.getPosition();
         Rotation3f var10 = var8.getRotation();
         Holder var11 = EntityStore.REGISTRY.newHolder();
         var11.addComponent(ParkourCheckpoint.getComponentType(), new ParkourCheckpoint(var6));
         Model var12 = ParkourPlugin.get().getParkourCheckpointModel();
         var11.addComponent(ModelComponent.getComponentType(), new ModelComponent(var12));
         var11.addComponent(PersistentModel.getComponentType(), new PersistentModel(var12.toReference()));
         var11.addComponent(Nameplate.getComponentType(), new Nameplate(Integer.toString(var6)));
         TransformComponent var13 = new TransformComponent(var9, var10);
         var11.addComponent(TransformComponent.getComponentType(), var13);
         var11.ensureComponent(UUIDComponent.getComponentType());
         var11.ensureComponent(Intangible.getComponentType());
         var11.ensureComponent(HiddenFromAdventurePlayers.getComponentType());
         var2.addEntity(var11, AddReason.SPAWN);
         var1.sendMessage(MESSAGE_COMMANDS_CHECKPOINT_ADD_SUCCESS);
      }
   }
}