ClearEntitiesCommand class
Пакет: com.hypixel.hytale.builtin.buildertools.commands
Файл: com/hypixel/hytale/builtin/buildertools/commands/ClearEntitiesCommand.java
extends: AbstractPlayerCommand
Поля (12)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Vector3i |
var10 |
|
int |
var11 |
|
int |
var12 |
|
int |
var13 |
|
ReferenceArrayList |
var14 |
|
Store |
var15 |
|
ObjectListIterator |
var16 |
|
Ref |
var17 |
|
Player |
var6 |
|
BuilderToolsPlugin.BuilderState |
var7 |
|
BlockSelection |
var8 |
|
Vector3i |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var8 == null) |
abstract |
|
super super("clearEntities", "server.commands.clearEntities.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.commands;
class="kw">import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin;
class="kw">import com.hypixel.hytale.builtin.buildertools.PrototypePlayerBuilderToolSettings;
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.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.standard.BlockSelection;
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.objects.ObjectListIterator;
class="kw">import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class ClearEntitiesCommand class="kw">extends AbstractPlayerCommand {
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_NO_SELECTION = Message.translation("server.commands.clearEntities.noSelection");
class="kw">public ClearEntitiesCommand() {
super("clearEntities", "server.commands.clearEntities.desc");
this.setPermissionGroups("hytale:WorldEditor");
this.requirePermission(HytalePermissions.EDITOR_SELECTION_CLIPBOARD);
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
) {
Player var6 = var2.getComponent(var3, Player.getComponentType());
assert var6 != null;
if (PrototypePlayerBuilderToolSettings.isOkayToDoCommandsOnSelection(var3, var4, var2)) {
BuilderToolsPlugin.BuilderState var7 = BuilderToolsPlugin.getState(var6, var4);
BlockSelection var8 = var7.getSelection();
if (var8 == null) {
var1.sendMessage(MESSAGE_NO_SELECTION);
} else {
Vector3i var9 = var8.getSelectionMin();
Vector3i var10 = var8.getSelectionMax();
int var11 = var10.x() - var9.x();
int var12 = var10.y() - var9.y();
int var13 = var10.z() - var9.z();
ReferenceArrayList var14 = new ReferenceArrayList();
BuilderToolsPlugin.forEachCopyableInSelection(var5, var9.x(), var9.y(), var9.z(), var11, var12, var13, var14::add);
Store var15 = var5.getEntityStore().getStore();
ObjectListIterator var16 = var14.iterator();
while (var16.hasNext()) {
Ref var17 = (Ref<EntityStore>)var16.next();
var15.removeEntity(var17, RemoveReason.REMOVE);
}
var1.sendMessage(Message.translation("server.commands.clearEntities.cleared").param("count", var14.size()));
}
}
}
}