extras/src/main/java/pw/kaboom/extras/commands/CommandDestroyEntities.java

48 lines
1.6 KiB
Java

package pw.kaboom.extras.commands;
import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.Main;
import pw.kaboom.extras.platform.PlatformScheduler;
import javax.annotation.Nonnull;
public final class CommandDestroyEntities implements CommandExecutor {
@Override
public boolean onCommand(final @Nonnull CommandSender sender,
final @Nonnull Command command,
final @Nonnull String label,
final String[] args) {
int entityCount = 0;
int worldCount = 0;
final Main plugin = JavaPlugin.getPlugin(Main.class);
for (World world : Bukkit.getWorlds()) {
for (Entity entity : world.getEntities()) {
if (!EntityType.PLAYER.equals(entity.getType())) {
PlatformScheduler.executeOnEntity(plugin, entity, entity::remove);
entityCount++;
}
}
worldCount++;
}
sender.sendMessage(
Component.text("Successfully destroyed ")
.append(Component.text(entityCount))
.append(Component.text(" entities in "))
.append(Component.text(worldCount))
.append(Component.text(" worlds"))
);
return true;
}
}