Multiverse-Core/src/main/java/com/onarandombox/MultiverseCore/commandsold/DeleteCommand.java

60 lines
2.4 KiB
Java
Raw Normal View History

/******************************************************************************
* Multiverse 2 Copyright (c) the Multiverse Team 2011. *
* Multiverse 2 is licensed under the BSD License. *
* For more information please check the README.md file included *
* with this project. *
******************************************************************************/
package com.onarandombox.MultiverseCore.commandsold;
2011-07-20 16:48:46 +02:00
2011-09-17 17:59:38 +02:00
import com.onarandombox.MultiverseCore.MultiverseCore;
2021-03-09 13:54:42 +01:00
import com.onarandombox.MultiverseCore.commandtools.queue.QueuedCommand;
2011-07-20 16:48:46 +02:00
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.PermissionDefault;
2021-03-09 13:54:42 +01:00
import org.jetbrains.annotations.NotNull;
2011-07-20 16:48:46 +02:00
2011-09-17 17:59:38 +02:00
import java.util.List;
2011-07-20 16:48:46 +02:00
/**
* Deletes worlds.
*/
2011-07-20 16:48:46 +02:00
public class DeleteCommand extends MultiverseCommand {
public DeleteCommand(MultiverseCore plugin) {
super(plugin);
this.setName("Delete World");
2011-07-30 08:53:55 +02:00
this.setCommandUsage("/mv delete" + ChatColor.GREEN + " {WORLD}");
2011-07-20 16:48:46 +02:00
this.setArgRange(1, 1);
this.addKey("mvdelete");
this.addKey("mv delete");
this.addCommandExample("/mv delete " + ChatColor.GOLD + "MyWorld");
2011-07-20 16:48:46 +02:00
this.setPermission("multiverse.core.delete", "Deletes a world on your server. " + ChatColor.RED + "PERMANENTLY.", PermissionDefault.OP);
}
@Override
public void runCommand(CommandSender sender, List<String> args) {
String worldName = args.get(0);
2021-03-09 13:54:42 +01:00
this.plugin.getCommandQueueManager().addToQueue(new QueuedCommand(
sender,
deleteRunnable(sender, worldName),
String.format("Are you sure you want to delete world '%s'? You cannot undo this action.", worldName)
));
}
private Runnable deleteRunnable(@NotNull CommandSender sender,
@NotNull String worldName) {
return () -> {
sender.sendMessage(String.format("Deleting world '%s'...", worldName));
if (this.plugin.getMVWorldManager().deleteWorld(worldName)) {
sender.sendMessage(String.format("%sWorld %s was deleted!", ChatColor.GREEN, worldName));
return;
}
sender.sendMessage(String.format("%sThere was an issue deleting '%s'! Please check console for errors.",
ChatColor.RED, worldName));
};
2011-07-20 16:48:46 +02:00
}
}