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