Just seeing if anyone knows why this wouldn't work if I am missing something obvious: Code: public boolean deleteWorld(String s) { World w = Bukkit.getServer().getWorld(s); if (w == null) { _log.logInfo(" Error Occured Trying to Delete World: " + s); return false; } String worldName = w.getName(); if (!w.getPlayers().isEmpty()) { for (Player p : w.getPlayers()) { p.teleport(Bukkit.getServer().getWorld("world").getSpawnLocation()); p.sendMessage(_log.getPluginPrefix() + " The world " + ChatColor.WHITE + w.getName() + ChatColor.GRAY + " is being deleted!"); } } File deletingWorld = getDataFolderForWorld(worldName); Bukkit.getServer().unloadWorld(w, true); _log.logInfo(" World " + worldName + " has been deleted!"); return deletingWorld.delete(); } Thank you!
Folders can only be deleted if they're empty. You probably want to create your own method that deletes folders recursively.
Here is a method I wrote that I use very often when deleting any folders. Code:java private void deleteMap(File dir) {File[] files = dir.listFiles();for(File d : files){ if(d.isDirectory()){ deleteMap(d); } d.delete(); }}
MCForger Use this: Code:java public boolean onCommand(CommandSender s, Command cmd, String cl, String[] args) { Player p = (Player) s; if (cl.equalsIgnoreCase("delworld")) { if (args.length == 0) { p.sendMessage(ChatColor.RED + "Not enough args!"); } else if (args.length == 1) { if (args[0] != null) { Bukkit.getWorlds().remove(args[0]); } } else { p.sendMessage(ChatColor.RED + "Too many args!"); } } ^_^