diff --git a/SubServers.Bungee/pom.xml b/SubServers.Bungee/pom.xml
index 608e8c69..d68063c9 100644
--- a/SubServers.Bungee/pom.xml
+++ b/SubServers.Bungee/pom.xml
@@ -30,9 +30,15 @@
net.ME1312.Galaxi
GalaxiUtil
- 19w20k
+ 19w21a
compile
+
+ net.ME1312.Galaxi
+ GalaxiEngine
+ 19w21a
+ provided
+
net.ME1312.SubData
Server
diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Compatibility/GalaxiEventListener.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Compatibility/GalaxiEventListener.java
new file mode 100644
index 00000000..bec715bb
--- /dev/null
+++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Compatibility/GalaxiEventListener.java
@@ -0,0 +1,39 @@
+package net.ME1312.SubServers.Bungee.Library.Compatibility;
+
+import net.ME1312.Galaxi.Event.ConsoleInputEvent;
+import net.ME1312.Galaxi.Galaxi;
+import net.ME1312.Galaxi.Library.Event.ListenerOrder;
+import net.ME1312.Galaxi.Library.Event.Subscribe;
+import net.ME1312.SubServers.Bungee.SubPlugin;
+
+/**
+ * Galaxi Event Listener Class
+ */
+public class GalaxiEventListener {
+ private SubPlugin plugin;
+
+ /**
+ * Create & Register a Galaxi Event Listener
+ *
+ * @param plugin Plugin
+ */
+ public GalaxiEventListener(SubPlugin plugin) throws Throwable {
+ this.plugin = plugin;
+
+ Galaxi.getInstance().getPluginManager().registerListener(Galaxi.getInstance().getAppInfo(), this);
+ plugin.canSudo = true;
+ }
+
+ @Subscribe(order = ListenerOrder.FIRST, override = true)
+ public void sudo(ConsoleInputEvent e) {
+ if (plugin.sudo != null) {
+ e.setCancelled(true);
+ if (e.getInput().equalsIgnoreCase("exit")) {
+ plugin.sudo = null;
+ Logger.get("SubServers").info("Reverting to the BungeeCord Console");
+ } else {
+ plugin.sudo.command(e.getInput());
+ }
+ }
+ }
+}
diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java
index 1239646b..da766b66 100644
--- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java
+++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java
@@ -7,6 +7,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap;
import net.ME1312.Galaxi.Library.NamedContainer;
import net.ME1312.Galaxi.Library.UniversalFile;
import net.ME1312.Galaxi.Library.Util;
+import net.ME1312.Galaxi.Plugin.PluginInfo;
import net.ME1312.SubData.Server.*;
import net.ME1312.SubData.Server.Encryption.AES;
import net.ME1312.SubData.Server.Encryption.RSA;
@@ -226,6 +227,7 @@ public final class SubPlugin extends BungeeCord implements Listener {
subprotocol = SubProtocol.get();
Logger.get("SubServers").info("Loading BungeeCord Libraries...");
+ if (isGalaxi) Util.reflect(net.ME1312.SubServers.Bungee.Library.Compatibility.GalaxiEventListener.class.getConstructor(SubPlugin.class), this);
}
/**
@@ -857,7 +859,7 @@ public final class SubPlugin extends BungeeCord implements Listener {
ServerInfo next = new LinkedList>(fallbacks.entrySet()).getFirst().getValue();
e.setCancelServer(next);
if (Util.isException(() -> Util.reflect(ServerKickEvent.class.getDeclaredMethod("setCancelServers", ServerInfo[].class), e, (Object) fallbacks.values().toArray(new ServerInfo[0])))) {
- ((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
+ ((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedList<>(fallbacks.keySet()));
((UserConnection) e.getPlayer()).connect(next, null, true);
}
}
diff --git a/SubServers.Client/Bukkit/pom.xml b/SubServers.Client/Bukkit/pom.xml
index 96118031..a0ebc590 100644
--- a/SubServers.Client/Bukkit/pom.xml
+++ b/SubServers.Client/Bukkit/pom.xml
@@ -48,7 +48,7 @@
net.ME1312.Galaxi
GalaxiUtil
- 19w20k
+ 19w21a
compile
diff --git a/SubServers.Client/Sponge/pom.xml b/SubServers.Client/Sponge/pom.xml
index 3a12ab91..03269f48 100644
--- a/SubServers.Client/Sponge/pom.xml
+++ b/SubServers.Client/Sponge/pom.xml
@@ -30,7 +30,7 @@
net.ME1312.Galaxi
GalaxiUtil
- 19w20k
+ 19w21a
compile
diff --git a/SubServers.Host/pom.xml b/SubServers.Host/pom.xml
index 1f8385ca..4020aabe 100644
--- a/SubServers.Host/pom.xml
+++ b/SubServers.Host/pom.xml
@@ -20,7 +20,7 @@
net.ME1312.Galaxi
GalaxiEngine
- 19w20k
+ 19w21a
compile
diff --git a/SubServers.Sync/pom.xml b/SubServers.Sync/pom.xml
index 78e027af..ce34fab5 100644
--- a/SubServers.Sync/pom.xml
+++ b/SubServers.Sync/pom.xml
@@ -30,9 +30,15 @@
net.ME1312.Galaxi
GalaxiUtil
- 19w20k
+ 19w21a
compile
+
+ net.ME1312.Galaxi
+ GalaxiEngine
+ 19w21a
+ provided
+
net.ME1312.SubData
Client
diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java
index 1372257d..c35c053b 100644
--- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java
+++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java
@@ -36,9 +36,7 @@ import java.lang.reflect.InvocationTargetException;
import java.net.InetAddress;
import java.net.URL;
import java.nio.charset.Charset;
-import java.nio.file.Files;
import java.util.*;
-import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
/**