@Override
	public boolean onCommand(CommandSender sender, String[] args) {
		for (String s : FTPInfo.SYNC_FILES) {
			if (!Installer.getRootFile(s).exists()) {
				sender.sendMessage(ChatColor.RED + "No install yet, use /install");
				return true;
			}
		}

		Installer.downloadSyncFiles("$path.temp");

		Sync local = new Sync();
		Sync remote = new Sync();
		
		local.add(FTPInfo.SYNC_FILES);
		for (String s : FTPInfo.SYNC_FILES) {
			remote.add(s + ".temp");
		}

		for (FileInstallation file : remote.getFiles()) {
			FileStatus status = getStatus(file, local);
			if (status == FileStatus.OUTDATED) {
				sender.sendMessage(ChatColor.LIGHT_PURPLE + "Updating " + file
						.getLocalLocation() + "...");
				file.getFile().delete();
				FTP.download(file.getLocalLocation());
			} else if (status == FileStatus.NOT_INSTALLED) {
				sender.sendMessage(ChatColor.LIGHT_PURPLE + "Installing " + 
						file.getLocalLocation() + "...");
				FTP.download(file.getLocalLocation());
			}
		}

		for (String file : FTPInfo.SYNC_FILES) {
			Installer.getRootFile(file).delete();
			Installer.getRootFile(file + ".temp").delete();
		}
		Installer.downloadSyncFiles();
		sender.sendMessage(ChatColor.GREEN + "Update complete!");
		return true;
	}