PrefabEditKillEntitiesCommand class

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

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

extends: AbstractPlayerCommand

Поля (10)

МодификаторыТипИмя
Vector3i var10
Vector3i var11
Vector3d var12
Vector3d var13
List var14
int var15
PrefabEditSessionManager var6
PrefabEditSession var7
PrefabEditingMetadata var8
Vector3i var9

Методы (4)

МодификаторыВозвратСигнатура
for for(Ref var17 : var14)
if if(var7 == null)
if if(var8 == null)
abstract super super("kill", "server.commands.editprefab.kill.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin;
class="kw">import com.hypixel.hytale.builtin.buildertools.prefabeditor.PrefabAnchor;
class="kw">import com.hypixel.hytale.builtin.buildertools.prefabeditor.PrefabEditSession;
class="kw">import com.hypixel.hytale.builtin.buildertools.prefabeditor.PrefabEditSessionManager;
class="kw">import com.hypixel.hytale.builtin.buildertools.prefabeditor.PrefabEditingMetadata;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
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.basecommands.AbstractPlayerCommand;
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 com.hypixel.hytale.server.core.util.TargetUtil;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;

class="kw">public class PrefabEditKillEntitiesCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_EDIT_PREFAB_NOT_IN_EDIT_SESSION = Message.translation("servers.commands.editprefab.notInEditSession");
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_EDIT_PREFAB_NO_PREFAB_SELECTED = Message.translation("server.commands.editprefab.noPrefabSelected");

   class="kw">public PrefabEditKillEntitiesCommand() {
      super("kill", "server.commands.editprefab.kill.desc");
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      PrefabEditSessionManager var6 = BuilderToolsPlugin.get().getPrefabEditSessionManager();
      PrefabEditSession var7 = var6.getPrefabEditSession(var4.getUuid());
      if (var7 == null) {
         var1.sendMessage(MESSAGE_COMMANDS_EDIT_PREFAB_NOT_IN_EDIT_SESSION);
      } else {
         PrefabEditingMetadata var8 = var7.getSelectedPrefab(var4.getUuid());
         if (var8 == null) {
            var1.sendMessage(MESSAGE_COMMANDS_EDIT_PREFAB_NO_PREFAB_SELECTED);
         } else {
            Vector3i var9 = var8.getMaxPoint();
            Vector3i var10 = var8.getMinPoint();
            Vector3i var11 = var9.sub(var10);
            Vector3d var12 = new Vector3d(var10.x, var10.y, var10.z);
            Vector3d var13 = new Vector3d(var9.x + 1, var9.y + 1, var9.z + 1);
            List var14 = TargetUtil.getAllEntitiesInBox(var12, var13, var2);
            int var15 = 0;

            for (Ref var17 : var14) {
               if (var2.getComponent(var17, PrefabAnchor.getComponentType()) == null) {
                  var2.removeEntity(var17, RemoveReason.REMOVE);
                  var15++;
               }
            }

            var1.sendMessage(Message.translation("server.commands.editprefab.kill.done").param("amount", var15));
         }
      }
   }
}