public void patch() throws AlreadyModdedException {
		Date start = new Date();
		createBackup();
		// Patchlogic
		try {
			for (File soundPackFile : pack.getSoundpackFiles()) {
				logger.debug("Gonna patch " + soundPackFile.getName());
				for (File archiveFile : files) {
					if (soundPackFile.getName().equals(archiveFile.getName())) {
						logger.debug("Found file in Archive: "
								+ archiveFile.getAbsolutePath());
						Misc.copyFile(soundPackFile, archiveFile);
						logger.debug("File Patched");
					}
				}
			}
			Date end = new Date();
			logger.info("Patching Done :) ("
					+ ((end.getTime() - start.getTime()) + "ms)"));
		} catch (IOException e) {
			logger.error("[" + this.getName() + "] Patch error");
		}
	}