From 5938461363b1edafc01b3fed3f227eefea805697 Mon Sep 17 00:00:00 2001
From: tobias <tobias.ullerich@icloud.com>
Date: Sat, 24 Sep 2016 20:52:29 +0200
Subject: [PATCH] Changed Classpath and Package of Update Classes

---
 PlayWall/.classpath                           |  1 +
 .../src/de/tobias/playpad/PlayPadImpl.java    |  4 +-
 .../src/de/tobias/playpad/PlayPadMain.java    |  2 +-
 .../tobias/playpad/update/PlayPadUpdater.java |  2 +
 .../src/de/tobias/playpad/update/Updates.java |  1 +
 .../viewcontroller/cell/UpdateCell.java       |  2 +-
 .../dialog/AutoUpdateDialog.java              |  4 +-
 .../dialog/PluginViewController.java          |  2 +-
 .../global/UpdateTabViewController.java       |  6 +-
 PlayWallCore/.classpath                       |  1 +
 .../src/de/tobias/playpad/Updatable.java      | 72 ----------------
 .../tobias/playpad/plugin/AdvancedPlugin.java |  2 +-
 .../playpad/settings/GlobalSettings.java      |  2 +-
 .../de/tobias/playpad/update/Updatable.java   | 28 ------
 .../tobias/playpad/update/UpdateChannel.java  | 18 ----
 .../playpad/update/UpdateRegistery.java       | 86 -------------------
 PlayWallPlugins/.classpath                    |  1 +
 .../actionsplugin/impl/ActionsPluginImpl.java |  2 +-
 .../impl/ActionsPluginUpdater.java            |  4 +-
 .../awakeplugin/impl/AwakePluginImpl.java     |  2 +-
 .../awakeplugin/impl/AwakePluginUpdater.java  |  4 +-
 .../main/impl/EqualizerPluginImpl.java        |  2 +-
 .../main/impl/EqualizerPluginUpdater.java     |  4 +-
 .../impl/LaunchPadPluginUpdater.java          |  4 +-
 .../impl/LaunchpadPluginImpl.java             |  2 +-
 .../main/impl/MediaPluginImpl.java            |  2 +-
 .../main/impl/MediaPluginUpdater.java         |  4 +-
 27 files changed, 33 insertions(+), 231 deletions(-)
 delete mode 100644 PlayWallCore/src/de/tobias/playpad/Updatable.java
 delete mode 100644 PlayWallCore/src/de/tobias/playpad/update/Updatable.java
 delete mode 100644 PlayWallCore/src/de/tobias/playpad/update/UpdateChannel.java
 delete mode 100644 PlayWallCore/src/de/tobias/playpad/update/UpdateRegistery.java

diff --git a/PlayWall/.classpath b/PlayWall/.classpath
index a8ad48e8..d2cd0493 100644
--- a/PlayWall/.classpath
+++ b/PlayWall/.classpath
@@ -15,5 +15,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/Updater"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/PlayWall/src/de/tobias/playpad/PlayPadImpl.java b/PlayWall/src/de/tobias/playpad/PlayPadImpl.java
index 83a786bb..b99b1c7a 100644
--- a/PlayWall/src/de/tobias/playpad/PlayPadImpl.java
+++ b/PlayWall/src/de/tobias/playpad/PlayPadImpl.java
@@ -31,13 +31,13 @@ import de.tobias.playpad.plugin.WindowListener;
 import de.tobias.playpad.project.Project;
 import de.tobias.playpad.registry.NoSuchComponentException;
 import de.tobias.playpad.settings.GlobalSettings;
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateRegistery;
 import de.tobias.playpad.view.MapperOverviewViewController;
 import de.tobias.playpad.viewcontroller.IPadSettingsViewController;
 import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import de.tobias.playpad.viewcontroller.main.MainViewController;
 import de.tobias.playpad.viewcontroller.option.IProfileSettingsViewController;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateRegistery;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWall/src/de/tobias/playpad/PlayPadMain.java b/PlayWall/src/de/tobias/playpad/PlayPadMain.java
index 2e7f4e66..92aeeaf1 100644
--- a/PlayWall/src/de/tobias/playpad/PlayPadMain.java
+++ b/PlayWall/src/de/tobias/playpad/PlayPadMain.java
@@ -14,11 +14,11 @@ import de.tobias.playpad.project.ref.ProjectReference;
 import de.tobias.playpad.settings.GlobalSettings;
 import de.tobias.playpad.settings.ProfileReference;
 import de.tobias.playpad.update.PlayPadUpdater;
-import de.tobias.playpad.update.UpdateRegistery;
 import de.tobias.playpad.update.Updates;
 import de.tobias.playpad.viewcontroller.LaunchDialog;
 import de.tobias.playpad.viewcontroller.dialog.AutoUpdateDialog;
 import de.tobias.playpad.viewcontroller.dialog.ChangelogDialog;
+import de.tobias.updater.client.UpdateRegistery;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java b/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java
index 2ba459e5..7ce8cc5f 100644
--- a/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java
+++ b/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java
@@ -8,6 +8,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.util.SystemUtils;
diff --git a/PlayWall/src/de/tobias/playpad/update/Updates.java b/PlayWall/src/de/tobias/playpad/update/Updates.java
index a507e8d4..76dbd21d 100644
--- a/PlayWall/src/de/tobias/playpad/update/Updates.java
+++ b/PlayWall/src/de/tobias/playpad/update/Updates.java
@@ -9,6 +9,7 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 
 import de.tobias.playpad.AppUserInfoStrings;
+import de.tobias.updater.client.UpdateRegistery;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.NativeLauncher;
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/cell/UpdateCell.java b/PlayWall/src/de/tobias/playpad/viewcontroller/cell/UpdateCell.java
index c33fffdf..5ba3fce1 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/cell/UpdateCell.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/cell/UpdateCell.java
@@ -2,7 +2,7 @@ package de.tobias.playpad.viewcontroller.cell;
 
 import de.tobias.playpad.Strings;
 import de.tobias.playpad.update.PlayPadUpdater;
-import de.tobias.playpad.update.Updatable;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.util.Localization;
 import javafx.scene.control.ListCell;
 import javafx.scene.image.ImageView;
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java
index ea4b89db..c8fb0d37 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java
@@ -4,8 +4,8 @@ import java.util.Set;
 
 import de.tobias.playpad.PlayPadMain;
 import de.tobias.playpad.Strings;
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateRegistery;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateRegistery;
 import de.tobias.utils.ui.AdvancedDialog;
 import de.tobias.utils.util.Localization;
 import javafx.scene.control.ButtonBar.ButtonData;
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PluginViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PluginViewController.java
index 1f09405a..cf25ad25 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PluginViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PluginViewController.java
@@ -16,8 +16,8 @@ import de.tobias.playpad.plugin.PluginDescription;
 import de.tobias.playpad.plugin.Plugins;
 import de.tobias.playpad.settings.GlobalSettings;
 import de.tobias.playpad.settings.Profile;
-import de.tobias.playpad.update.UpdateChannel;
 import de.tobias.playpad.viewcontroller.cell.PluginCell;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.ui.ViewController;
 import de.tobias.utils.util.Localization;
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java
index bc7aeddd..805b15fe 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java
@@ -7,14 +7,14 @@ import de.tobias.playpad.PlayPadPlugin;
 import de.tobias.playpad.Strings;
 import de.tobias.playpad.settings.GlobalSettings;
 import de.tobias.playpad.settings.Profile;
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
-import de.tobias.playpad.update.UpdateRegistery;
 import de.tobias.playpad.update.Updates;
 import de.tobias.playpad.viewcontroller.cell.EnumCell;
 import de.tobias.playpad.viewcontroller.cell.UpdateCell;
 import de.tobias.playpad.viewcontroller.dialog.UpdaterDialog;
 import de.tobias.playpad.viewcontroller.option.GlobalSettingsTabViewController;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
+import de.tobias.updater.client.UpdateRegistery;
 import de.tobias.utils.application.ApplicationInfo;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.util.Localization;
diff --git a/PlayWallCore/.classpath b/PlayWallCore/.classpath
index a6fa9547..5a6addb1 100644
--- a/PlayWallCore/.classpath
+++ b/PlayWallCore/.classpath
@@ -11,5 +11,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Json"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/Updater"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/PlayWallCore/src/de/tobias/playpad/Updatable.java b/PlayWallCore/src/de/tobias/playpad/Updatable.java
deleted file mode 100644
index 7b3faf36..00000000
--- a/PlayWallCore/src/de/tobias/playpad/Updatable.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package de.tobias.playpad;
-
-import java.net.URL;
-import java.nio.file.Path;
-
-/**
- * Diese Schnittstelle wird dafür verwendet, damit das Programm für Plugins nach Updates suchen kann und diese auch durchführen kann.
- * 
- * @author tobias
- *
- * @since 5.0.0
- */
-@Deprecated
-public interface Updatable {
-
-	/**
-	 * Gibt die aktuelle Build Nummer zurück
-	 * 
-	 * @return build number
-	 */
-	public int getCurrentBuild();
-
-	/**
-	 * Gibt die altuelle Programmversion (lesbar) für den Nutzer zurück.
-	 * 
-	 * @return version string
-	 */
-	public String getCurrentVersion();
-
-	/**
-	 * Gibt die neue Buildnummer zurück.
-	 * 
-	 * @return build number
-	 */
-	public int getNewBuild();
-
-	/**
-	 * Gibt die neue Versionsnummer (lesbar) zurück.
-	 * 
-	 * @return version string
-	 */
-	public String getNewVersion();
-
-	/**
-	 * Lädt alle Informationen für Updates vom Server, sodass die Methoden bescheid wissen.
-	 * 
-	 * @return <code>true</code> Erfolgreich.
-	 */
-	public boolean checkUpdate();
-
-	/**
-	 * Gibt den Downloadlink für das Update zurück.
-	 * 
-	 * @return server url
-	 */
-	public URL getDownloadPath();
-
-	/**
-	 * Gibt den Lokalen Pfad zur Datei.
-	 * 
-	 * @return local path
-	 */
-	public Path getLocalPath();
-
-	/**
-	 * Gibt den Display Namen zurück. (lesbar)
-	 * 
-	 * @return name
-	 */
-	public String name();
-
-}
diff --git a/PlayWallCore/src/de/tobias/playpad/plugin/AdvancedPlugin.java b/PlayWallCore/src/de/tobias/playpad/plugin/AdvancedPlugin.java
index 619a86a0..53ec30f5 100644
--- a/PlayWallCore/src/de/tobias/playpad/plugin/AdvancedPlugin.java
+++ b/PlayWallCore/src/de/tobias/playpad/plugin/AdvancedPlugin.java
@@ -1,6 +1,6 @@
 package de.tobias.playpad.plugin;
 
-import de.tobias.playpad.update.Updatable;
+import de.tobias.updater.client.Updatable;
 
 /**
  * Schnittatelle, von der Plugins erben, damit diese alle notwendigen Services unterstützen.
diff --git a/PlayWallCore/src/de/tobias/playpad/settings/GlobalSettings.java b/PlayWallCore/src/de/tobias/playpad/settings/GlobalSettings.java
index 3caa9fa0..7dd12615 100644
--- a/PlayWallCore/src/de/tobias/playpad/settings/GlobalSettings.java
+++ b/PlayWallCore/src/de/tobias/playpad/settings/GlobalSettings.java
@@ -16,7 +16,7 @@ import org.dom4j.io.XMLWriter;
 
 import de.tobias.playpad.PlayPad;
 import de.tobias.playpad.settings.keys.KeyCollection;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
 import de.tobias.utils.settings.Storable;
diff --git a/PlayWallCore/src/de/tobias/playpad/update/Updatable.java b/PlayWallCore/src/de/tobias/playpad/update/Updatable.java
deleted file mode 100644
index 88c493ae..00000000
--- a/PlayWallCore/src/de/tobias/playpad/update/Updatable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tobias.playpad.update;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.nio.file.Path;
-
-public interface Updatable {
-
-	public int getCurrentBuild();
-
-	public String getCurrentVersion();
-
-	public int getNewBuild();
-
-	public String getNewVersion();
-
-	public boolean isUpdateAvailable();
-	
-	public void loadInformation(UpdateChannel channel) throws IOException, URISyntaxException;
-
-	public URL getDownloadPath();
-	
-	public Path getLocalPath();
-	
-	public String name();
-
-}
diff --git a/PlayWallCore/src/de/tobias/playpad/update/UpdateChannel.java b/PlayWallCore/src/de/tobias/playpad/update/UpdateChannel.java
deleted file mode 100644
index ca0367b8..00000000
--- a/PlayWallCore/src/de/tobias/playpad/update/UpdateChannel.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tobias.playpad.update;
-
-public enum UpdateChannel {
-
-	STABLE("stable"),
-	BETA("beta");
-
-	private String name;
-
-	private UpdateChannel(String name) {
-		this.name = name;
-	}
-
-	@Override
-	public String toString() {
-		return name;
-	}
-}
diff --git a/PlayWallCore/src/de/tobias/playpad/update/UpdateRegistery.java b/PlayWallCore/src/de/tobias/playpad/update/UpdateRegistery.java
deleted file mode 100644
index 8dfa58c1..00000000
--- a/PlayWallCore/src/de/tobias/playpad/update/UpdateRegistery.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package de.tobias.playpad.update;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.util.HashSet;
-import java.util.Set;
-
-import de.tobias.utils.util.OS;
-import de.tobias.utils.util.SystemUtils;
-import net.minidev.json.JSONArray;
-import net.minidev.json.JSONObject;
-import net.minidev.json.JSONStyle;
-
-public class UpdateRegistery {
-
-	private static Set<Updatable> updatables = new HashSet<>();
-	private static Set<Updatable> availableUpdates = new HashSet<>();
-
-	public static void registerUpdateable(Updatable updatable) {
-		updatables.add(updatable);
-	}
-
-	public static Set<Updatable> getAvailableUpdates() {
-		return availableUpdates;
-	}
-
-	public static Set<Updatable> lookupUpdates(UpdateChannel channel) {
-		availableUpdates.clear();
-		for (Updatable updatable : UpdateRegistery.updatables) {
-			try {
-				updatable.loadInformation(channel);
-				if (updatable.isUpdateAvailable()) {
-					availableUpdates.add(updatable);
-				}
-			} catch (IOException | URISyntaxException e) {
-
-			}
-		}
-		return availableUpdates;
-	}
-
-	private static final String DOWNLOAD_PATH = "downloadPath";
-	private static final String FILES = "files";
-	private static final String LOCAL = "local";
-	private static final String URL = "url";
-	private static final String EXECUTE_FILE = "executePath";
-
-	public static String buildParamaterString(String downloadPath) {
-		JSONObject data = new JSONObject();
-		data.put(DOWNLOAD_PATH, downloadPath);
-
-		JSONArray array = new JSONArray();
-		for (Updatable updatable : availableUpdates) {
-			JSONObject file = new JSONObject();
-			file.put(URL, updatable.getDownloadPath().toString());
-			file.put(LOCAL, updatable.getLocalPath().toString());
-			array.add(file);
-		}
-		data.put(FILES, array);
-		try {
-			data.put(EXECUTE_FILE, SystemUtils.getRunPath().toString());
-		} catch (URISyntaxException e) {
-			e.printStackTrace();
-		}
-
-		String json = data.toJSONString(JSONStyle.MAX_COMPRESS);
-		return json;
-	}
-
-	public static boolean needsAdminPermission() {
-		for (Updatable updatable : availableUpdates) {
-			if (!Files.isWritable(updatable.getLocalPath())) {
-				return true;
-			}
-			if (OS.isWindows()) {
-				try {
-					if (Files.getOwner(updatable.getLocalPath()).getName().toLowerCase().contains("admin")) {
-						return true;
-					}
-				} catch (IOException e) {}
-			}
-		}
-		return false;
-	}
-}
diff --git a/PlayWallPlugins/.classpath b/PlayWallPlugins/.classpath
index dff7fdd8..a6483b75 100644
--- a/PlayWallPlugins/.classpath
+++ b/PlayWallPlugins/.classpath
@@ -13,5 +13,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ControlFx"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/YML"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/Updater"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginImpl.java b/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginImpl.java
index 31b62316..0c286fdd 100644
--- a/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginImpl.java
+++ b/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginImpl.java
@@ -14,8 +14,8 @@ import de.tobias.playpad.plugin.WindowListener;
 import de.tobias.playpad.registry.Registry;
 import de.tobias.playpad.settings.Profile;
 import de.tobias.playpad.settings.ProfileListener;
-import de.tobias.playpad.update.Updatable;
 import de.tobias.playpad.viewcontroller.main.IMainViewController;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.ui.HUD;
 import de.tobias.utils.ui.icon.FontIcon;
 import de.tobias.utils.ui.icon.MaterialDesignIcon;
diff --git a/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginUpdater.java b/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginUpdater.java
index 23e473ca..1b7f0f3a 100644
--- a/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginUpdater.java
+++ b/PlayWallPlugins/actionsplugin/de/tobias/playpad/actionsplugin/impl/ActionsPluginUpdater.java
@@ -7,8 +7,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
index 37564d3d..6609f50a 100644
--- a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
+++ b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
@@ -16,10 +16,10 @@ import de.tobias.playpad.plugin.Module;
 import de.tobias.playpad.plugin.SettingsListener;
 import de.tobias.playpad.plugin.WindowListener;
 import de.tobias.playpad.settings.Profile;
-import de.tobias.playpad.update.Updatable;
 import de.tobias.playpad.view.main.MenuType;
 import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import de.tobias.playpad.viewcontroller.main.MenuToolbarViewController;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
 import de.tobias.utils.ui.icon.FontAwesomeType;
diff --git a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginUpdater.java b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginUpdater.java
index f01105e8..30e9472e 100644
--- a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginUpdater.java
+++ b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginUpdater.java
@@ -7,8 +7,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginImpl.java b/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginImpl.java
index afdd5cba..60cfab93 100644
--- a/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginImpl.java
+++ b/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginImpl.java
@@ -14,9 +14,9 @@ import de.tobias.playpad.pad.conntent.PadContent;
 import de.tobias.playpad.plugin.Module;
 import de.tobias.playpad.plugin.PadListener;
 import de.tobias.playpad.plugin.WindowListener;
-import de.tobias.playpad.update.Updatable;
 import de.tobias.playpad.view.main.MenuType;
 import de.tobias.playpad.viewcontroller.main.IMainViewController;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
 import de.tobias.utils.util.Localization;
diff --git a/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginUpdater.java b/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginUpdater.java
index 276150dd..b3f3eeab 100644
--- a/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginUpdater.java
+++ b/PlayWallPlugins/equalizerplugin/de/tobias/playpad/equalizerplugin/main/impl/EqualizerPluginUpdater.java
@@ -7,8 +7,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchPadPluginUpdater.java b/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchPadPluginUpdater.java
index 1b0ced17..a72e595c 100644
--- a/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchPadPluginUpdater.java
+++ b/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchPadPluginUpdater.java
@@ -7,8 +7,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
diff --git a/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java b/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java
index d3ebeffe..c10a73e8 100644
--- a/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java
+++ b/PlayWallPlugins/launchpadplugin/de/tobias/playpad/launchpadplugin/impl/LaunchpadPluginImpl.java
@@ -7,7 +7,7 @@ import de.tobias.playpad.launchpadplugin.midi.device.mk2.LaunchPadMK2;
 import de.tobias.playpad.launchpadplugin.midi.device.s.LaunchPadS;
 import de.tobias.playpad.midi.device.DeviceRegistry;
 import de.tobias.playpad.plugin.Module;
-import de.tobias.playpad.update.Updatable;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.util.Localization;
 import net.xeoh.plugins.base.annotations.PluginImplementation;
 import net.xeoh.plugins.base.annotations.events.PluginLoaded;
diff --git a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java
index 7aae5032..8229a6c7 100644
--- a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java
+++ b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginImpl.java
@@ -16,7 +16,7 @@ import de.tobias.playpad.plugin.Module;
 import de.tobias.playpad.plugin.SettingsListener;
 import de.tobias.playpad.registry.Registry;
 import de.tobias.playpad.settings.Profile;
-import de.tobias.playpad.update.Updatable;
+import de.tobias.updater.client.Updatable;
 import de.tobias.utils.ui.HUD;
 import de.tobias.utils.ui.icon.FontAwesomeType;
 import de.tobias.utils.ui.icon.FontIcon;
diff --git a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginUpdater.java b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginUpdater.java
index af6501af..94739f2f 100644
--- a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginUpdater.java
+++ b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/main/impl/MediaPluginUpdater.java
@@ -7,8 +7,8 @@ import java.nio.file.Path;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
 
-import de.tobias.playpad.update.Updatable;
-import de.tobias.playpad.update.UpdateChannel;
+import de.tobias.updater.client.Updatable;
+import de.tobias.updater.client.UpdateChannel;
 import de.tobias.utils.application.App;
 import de.tobias.utils.application.ApplicationUtils;
 import de.tobias.utils.application.container.PathType;
-- 
GitLab