001 package org.bukkit.command.defaults; 002 003 import java.util.List; 004 005 import org.apache.commons.lang.Validate; 006 import org.bukkit.Bukkit; 007 import org.bukkit.World; 008 import org.bukkit.command.Command; 009 import org.bukkit.command.CommandSender; 010 011 import com.google.common.collect.ImmutableList; 012 013 public class SaveCommand extends VanillaCommand { 014 public SaveCommand() { 015 super("save-all"); 016 this.description = "Saves the server to disk"; 017 this.usageMessage = "/save-all"; 018 this.setPermission("bukkit.command.save.perform"); 019 } 020 021 @Override 022 public boolean execute(CommandSender sender, String currentAlias, String[] args) { 023 if (!testPermission(sender)) return true; 024 025 Command.broadcastCommandMessage(sender, "Forcing save.."); 026 027 Bukkit.savePlayers(); 028 029 for (World world : Bukkit.getWorlds()) { 030 world.save(); 031 } 032 033 Command.broadcastCommandMessage(sender, "Save complete."); 034 035 return true; 036 } 037 038 @Override 039 public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException { 040 Validate.notNull(sender, "Sender cannot be null"); 041 Validate.notNull(args, "Arguments cannot be null"); 042 Validate.notNull(alias, "Alias cannot be null"); 043 044 return ImmutableList.of(); 045 } 046 }