diff --git a/Artifacts/SubServers.Bungee.jar b/Artifacts/SubServers.Bungee.jar index 453eec85..4eb4c4fd 100644 Binary files a/Artifacts/SubServers.Bungee.jar and b/Artifacts/SubServers.Bungee.jar differ diff --git a/Artifacts/SubServers.Client.Bukkit.jar b/Artifacts/SubServers.Client.Bukkit.jar index 6ee216fa..0463e07b 100644 Binary files a/Artifacts/SubServers.Client.Bukkit.jar and b/Artifacts/SubServers.Client.Bukkit.jar differ diff --git a/Artifacts/SubServers.Host.jar b/Artifacts/SubServers.Host.jar index 9a51ff29..a6945951 100644 Binary files a/Artifacts/SubServers.Host.jar and b/Artifacts/SubServers.Host.jar differ diff --git a/Artifacts/SubServers.Sync.jar b/Artifacts/SubServers.Sync.jar index a823454a..2a05b914 100644 Binary files a/Artifacts/SubServers.Sync.jar and b/Artifacts/SubServers.Sync.jar differ diff --git a/Javadoc/SubServers.Bungee.jar b/Javadoc/SubServers.Bungee.jar index f38776b3..fa24078f 100644 Binary files a/Javadoc/SubServers.Bungee.jar and b/Javadoc/SubServers.Bungee.jar differ diff --git a/Javadoc/SubServers.Bungee/index-all.html b/Javadoc/SubServers.Bungee/index-all.html index 25e5d38c..5077946e 100644 --- a/Javadoc/SubServers.Bungee/index-all.html +++ b/Javadoc/SubServers.Bungee/index-all.html @@ -1176,10 +1176,6 @@
Get the Keys
-
getLang() - Method in class net.ME1312.SubServers.Bungee.SubAPI
-
-
Gets the SubServers Lang
-
getLang(String) - Method in class net.ME1312.SubServers.Bungee.SubAPI
Gets values from the SubServers Lang
@@ -1188,6 +1184,10 @@
Gets a value from the SubServers Lang
+
getLangChannels() - Method in class net.ME1312.SubServers.Bungee.SubAPI
+
+
Gets the current SubServers Lang Channels
+
getLevel() - Method in class net.ME1312.SubServers.Bungee.Host.SubLogger.LogMessage
Get the level this message was logged on
@@ -1268,8 +1268,6 @@
Gets the MOTD of the Server
-
getMotd() - Method in class net.ME1312.SubServers.Bungee.Host.ServerContainer
-
 
getName() - Method in class net.ME1312.SubServers.Bungee.Event.SubCreateEvent
Get the name the SubServer will use
@@ -1994,8 +1992,6 @@
Gets if the Server is Restricted
-
isRestricted() - Method in class net.ME1312.SubServers.Bungee.Host.ServerContainer
-
 
isRunning() - Method in class net.ME1312.SubServers.Bungee.Host.External.ExternalSubServer
 
isRunning() - Method in class net.ME1312.SubServers.Bungee.Host.Internal.InternalSubServer
@@ -2518,7 +2514,7 @@
redis - Variable in class net.ME1312.SubServers.Bungee.SubPlugin
 
-
redis(String, NamedContainer<Class<T>, ? extends T>...) - Method in class net.ME1312.SubServers.Bungee.SubPlugin
+
redis(String, NamedContainer<Class<?>, ?>...) - Method in class net.ME1312.SubServers.Bungee.SubPlugin
Reference a RedisBungee method via reflection
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.html index 52b631d6..41ce1795 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.html @@ -357,14 +357,14 @@ extends ServerContainer -addExtra, addGroup, getDisplayName, getExtra, getExtra, getGlobalPlayers, getGroups, getMotd, getSignature, getSubData, hasExtra, isHidden, isRestricted, removeExtra, removeGroup, setHidden, setMotd, setRestricted, setSubData +addExtra, addGroup, getDisplayName, getExtra, getExtra, getGlobalPlayers, getGroups, getSignature, getSubData, hasExtra, isHidden, removeExtra, removeGroup, setHidden, setMotd, setRestricted, setSubData + - - - - @@ -581,6 +567,20 @@ public  + + + + @@ -1115,17 +1115,17 @@ public  - + diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/SubPlugin.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/SubPlugin.html index 8487b695..74dbde31 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/SubPlugin.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/SubPlugin.html @@ -244,7 +244,7 @@ implements net.md_5.bungee.api.plugin.Listener <T> java.lang.Object redis(java.lang.String method, - NamedContainer<java.lang.Class<T>,? extends T>... args) + NamedContainer<java.lang.Class<?>,?>... args)
Reference a RedisBungee method via reflection
@@ -487,7 +487,7 @@ implements net.md_5.bungee.api.plugin.Listener
  • redis

    public <T> java.lang.Object redis(java.lang.String method,
    -                                  NamedContainer<java.lang.Class<T>,? extends T>... args)
    +                                  NamedContainer<java.lang.Class<?>,?>... args)
                                throws java.lang.NoSuchMethodException,
                                       java.lang.reflect.InvocationTargetException,
                                       java.lang.IllegalAccessException
    diff --git a/Javadoc/SubServers.Client.Bukkit.jar b/Javadoc/SubServers.Client.Bukkit.jar index 2aaf5b7b..e53d5811 100644 Binary files a/Javadoc/SubServers.Client.Bukkit.jar and b/Javadoc/SubServers.Client.Bukkit.jar differ diff --git a/Javadoc/SubServers.Client.Bukkit/index-all.html b/Javadoc/SubServers.Client.Bukkit/index-all.html index 7185d53c..e624e45b 100644 --- a/Javadoc/SubServers.Client.Bukkit/index-all.html +++ b/Javadoc/SubServers.Client.Bukkit/index-all.html @@ -717,10 +717,6 @@
    Get the Keys
    -
    getLang() - Method in class net.ME1312.SubServers.Client.Bukkit.SubAPI
    -
    -
    Gets the SubServers Lang
    -
    getLang(String) - Method in class net.ME1312.SubServers.Client.Bukkit.SubAPI
    Gets values from the SubServers Lang
    @@ -729,6 +725,10 @@
    Gets a value from the SubServers Lang
    +
    getLangChannels() - Method in class net.ME1312.SubServers.Client.Bukkit.SubAPI
    +
    +
    Gets the current SubServers Lang Channels
    +
    getList(String) - Method in class net.ME1312.SubServers.Client.Bukkit.Library.Config.YAMLSection
    Get a List by Handle
    diff --git a/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/SubAPI.html b/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/SubAPI.html index 4542c143..cf18bff5 100644 --- a/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/SubAPI.html +++ b/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/SubAPI.html @@ -167,24 +167,24 @@ extends java.lang.Object -java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> -getLang() -
    Gets the SubServers Lang
    - - - java.util.Map<java.lang.String,java.lang.String> getLang(java.lang.String channel)
    Gets values from the SubServers Lang
    - + java.lang.String getLang(java.lang.String channel, java.lang.String key)
    Gets a value from the SubServers Lang
    + +java.util.Collection<java.lang.String> +getLangChannels() +
    Gets the current SubServers Lang Channels
    + + Version getPluginVersion() @@ -289,17 +289,17 @@ public  + @@ -315,7 +315,7 @@ public Parameters:
    channel - Lang Channel
    Returns:
    -
    Lang Values
    +
    Lang Value
  • @@ -333,7 +333,7 @@ public Returns: -
    Lang Value
    +
    Lang Values
    diff --git a/Javadoc/SubServers.Host.jar b/Javadoc/SubServers.Host.jar index 5fc75835..9dd87c04 100644 Binary files a/Javadoc/SubServers.Host.jar and b/Javadoc/SubServers.Host.jar differ diff --git a/Javadoc/SubServers.Host/index-all.html b/Javadoc/SubServers.Host/index-all.html index 7a532c8c..278203d3 100644 --- a/Javadoc/SubServers.Host/index-all.html +++ b/Javadoc/SubServers.Host/index-all.html @@ -817,10 +817,6 @@
    Get the Keys
    -
    getLang() - Method in class net.ME1312.SubServers.Host.SubAPI
    -
    -
    Gets the SubServers Lang
    -
    getLang(String) - Method in class net.ME1312.SubServers.Host.SubAPI
    Gets values from the SubServers Lang
    @@ -829,6 +825,10 @@
    Gets a value from the SubServers Lang
    +
    getLangChannels() - Method in class net.ME1312.SubServers.Host.SubAPI
    +
    +
    Gets the current SubServers Lang Channels
    +
    getList(String) - Method in class net.ME1312.SubServers.Host.Library.Config.YAMLSection
    Get a List by Handle
    diff --git a/Javadoc/SubServers.Host/net/ME1312/SubServers/Host/SubAPI.html b/Javadoc/SubServers.Host/net/ME1312/SubServers/Host/SubAPI.html index 4f664259..0e977195 100644 --- a/Javadoc/SubServers.Host/net/ME1312/SubServers/Host/SubAPI.html +++ b/Javadoc/SubServers.Host/net/ME1312/SubServers/Host/SubAPI.html @@ -174,24 +174,24 @@ extends java.lang.Object -java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> -getLang() -
    Gets the SubServers Lang
    - - - java.util.Map<java.lang.String,java.lang.String> getLang(java.lang.String channel)
    Gets values from the SubServers Lang
    - + java.lang.String getLang(java.lang.String channel, java.lang.String key)
    Gets a value from the SubServers Lang
    + +java.util.Collection<java.lang.String> +getLangChannels() +
    Gets the current SubServers Lang Channels
    + + SubPluginInfo getPlugin(java.lang.String plugin) @@ -539,17 +539,17 @@ public  + @@ -565,7 +565,7 @@ public Parameters:
    channel - Lang Channel
    Returns:
    -
    Lang Values
    +
    Lang Value
    @@ -583,7 +583,7 @@ public 
    Returns: -
    Lang Value
    +
    Lang Values
    diff --git a/Javadoc/SubServers.Sync.jar b/Javadoc/SubServers.Sync.jar index aadc95a4..cc6c5c1d 100644 Binary files a/Javadoc/SubServers.Sync.jar and b/Javadoc/SubServers.Sync.jar differ diff --git a/Javadoc/SubServers.Sync/index-all.html b/Javadoc/SubServers.Sync/index-all.html index 45c397ac..7a63de52 100644 --- a/Javadoc/SubServers.Sync/index-all.html +++ b/Javadoc/SubServers.Sync/index-all.html @@ -651,10 +651,6 @@
    Get the Keys
    -
    getLang() - Method in class net.ME1312.SubServers.Sync.SubAPI
    -
    -
    Gets the SubServers Lang
    -
    getLang(String) - Method in class net.ME1312.SubServers.Sync.SubAPI
    Gets values from the SubServers Lang
    @@ -663,6 +659,10 @@
    Gets a value from the SubServers Lang
    +
    getLangChannels() - Method in class net.ME1312.SubServers.Sync.SubAPI
    +
    +
    Gets the current SubServers Lang Channels
    +
    getList(String) - Method in class net.ME1312.SubServers.Sync.Library.Config.YAMLSection
    Get a List by Handle
    @@ -691,10 +691,6 @@
    Get a Long List by Handle
    -
    getMotd() - Method in class net.ME1312.SubServers.Sync.Server.Server
    -
    -
    Gets the MOTD of the Server
    -
    getName() - Method in class net.ME1312.SubServers.Sync.Event.SubCreateEvent
    Get the name the SubServer will use
    @@ -1067,10 +1063,6 @@
    Gets if the edit is permanent
    -
    isRestricted() - Method in class net.ME1312.SubServers.Sync.Server.Server
    -
    -
    Gets if the Server is Restricted
    -
    isRunning() - Method in class net.ME1312.SubServers.Sync.Server.SubServer
    Gets the Running Status
    @@ -1369,7 +1361,7 @@
    redis - Variable in class net.ME1312.SubServers.Sync.SubPlugin
     
    -
    redis(String, NamedContainer<Class<T>, ? extends T>...) - Method in class net.ME1312.SubServers.Sync.SubPlugin
    +
    redis(String, NamedContainer<Class<?>, ?>...) - Method in class net.ME1312.SubServers.Sync.SubPlugin
    Reference a RedisBungee method via reflection
    diff --git a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/Server.html b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/Server.html index 5048c92b..3607ab1b 100644 --- a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/Server.html +++ b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/Server.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10}; +var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -172,47 +172,35 @@ extends net.md_5.bungee.BungeeServerInfo java.lang.String -getMotd() -
    Gets the MOTD of the Server
    - - - -java.lang.String getSignature()
    Get the Signature of this Object
    - + boolean isHidden()
    If the server is hidden from players
    - -boolean -isRestricted() -
    Gets if the Server is Restricted
    - - - + void setDisplayName(java.lang.String value)
    Sets the Display Name for this Server
    - + void setHidden(boolean value)
    Set if the server is hidden from players
    - + void setMotd(java.lang.String value)
    Sets the MOTD of the Server
    - + void setRestricted(boolean value)
    Sets if the Server is Restricted
    @@ -224,7 +212,7 @@ extends net.md_5.bungee.BungeeServerInfo

    Methods inherited from class net.md_5.bungee.BungeeServerInfo

    -addPlayer, canAccess, equals, getAddress, getName, getPacketQueue, getPlayers, hashCode, ping, ping, removePlayer, sendData, sendData, toString +addPlayer, canAccess, equals, getAddress, getMotd, getName, getPacketQueue, getPlayers, hashCode, isRestricted, ping, ping, removePlayer, sendData, sendData, toString - - - - @@ -358,22 +328,6 @@ extends net.md_5.bungee.BungeeServerInfo - - - - diff --git a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/SubServer.html b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/SubServer.html index 3007ecc4..efd09e7f 100644 --- a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/SubServer.html +++ b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/Server/SubServer.html @@ -184,14 +184,14 @@ extends

    Methods inherited from class net.ME1312.SubServers.Sync.Server.Server

    -getDisplayName, getMotd, getSignature, isHidden, isRestricted, setDisplayName, setHidden, setMotd, setRestricted +getDisplayName, getSignature, isHidden, setDisplayName, setHidden, setMotd, setRestricted - + @@ -354,7 +354,7 @@ public Parameters:
    channel - Lang Channel
    Returns:
    -
    Lang Values
    +
    Lang Value
    @@ -372,7 +372,7 @@ public 
    channel - Lang Channel
    key - Key
    Returns:
    -
    Lang Value
    +
    Lang Values
    diff --git a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/SubPlugin.html b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/SubPlugin.html index 1563e426..649bdf1a 100644 --- a/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/SubPlugin.html +++ b/Javadoc/SubServers.Sync/net/ME1312/SubServers/Sync/SubPlugin.html @@ -240,7 +240,7 @@ implements net.md_5.bungee.api.plugin.Listener <T> java.lang.Object
    redis(java.lang.String method, - NamedContainer<java.lang.Class<T>,? extends T>... args) + NamedContainer<java.lang.Class<?>,?>... args)
    Reference a RedisBungee method via reflection
    @@ -427,7 +427,7 @@ implements net.md_5.bungee.api.plugin.Listener
  • redis

    public <T> java.lang.Object redis(java.lang.String method,
    -                                  NamedContainer<java.lang.Class<T>,? extends T>... args)
    +                                  NamedContainer<java.lang.Class<?>,?>... args)
                                throws java.lang.NoSuchMethodException,
                                       java.lang.reflect.InvocationTargetException,
                                       java.lang.IllegalAccessException
    diff --git a/SubServers.Bungee/src.jar b/SubServers.Bungee/src.jar index 7ae117d4..4e4086e1 100644 Binary files a/SubServers.Bungee/src.jar and b/SubServers.Bungee/src.jar differ diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.java index f4aef500..4e2d131d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.java @@ -10,6 +10,7 @@ import net.ME1312.SubServers.Bungee.Library.NamedContainer; import net.ME1312.SubServers.Bungee.Library.Util; import net.ME1312.SubServers.Bungee.Network.Packet.PacketExUpdateServer; import net.ME1312.SubServers.Bungee.SubAPI; +import net.md_5.bungee.BungeeServerInfo; import java.io.File; import java.lang.reflect.Field; @@ -267,7 +268,7 @@ public class ExternalSubServer extends SubServerContainer { break; case "motd": if (value.isString()) { - Field f = ServerContainer.class.getDeclaredField("motd"); + Field f = BungeeServerInfo.class.getDeclaredField("motd"); f.setAccessible(true); f.set(this, value.asColoredString('&')); f.setAccessible(false); @@ -367,7 +368,7 @@ public class ExternalSubServer extends SubServerContainer { break; case "restricted": if (value.isBoolean()) { - Field f = ServerContainer.class.getDeclaredField("restricted"); + Field f = BungeeServerInfo.class.getDeclaredField("restricted"); f.setAccessible(true); f.set(this, value.asBoolean()); f.setAccessible(false); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java index 026613a9..29b8b60c 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java @@ -12,6 +12,7 @@ import net.ME1312.SubServers.Bungee.Library.Util; import net.ME1312.SubServers.Bungee.Library.Version.Version; import net.ME1312.SubServers.Bungee.SubAPI; import net.ME1312.SubServers.Bungee.SubPlugin; +import net.md_5.bungee.BungeeServerInfo; import org.json.JSONObject; import java.io.*; @@ -320,7 +321,7 @@ public class InternalSubServer extends SubServerContainer { break; case "motd": if (value.isString()) { - Field f = ServerContainer.class.getDeclaredField("motd"); + Field f = BungeeServerInfo.class.getDeclaredField("motd"); f.setAccessible(true); f.set(this, value.asColoredString('&')); f.setAccessible(false); @@ -419,7 +420,7 @@ public class InternalSubServer extends SubServerContainer { break; case "restricted": if (value.isBoolean()) { - Field f = ServerContainer.class.getDeclaredField("restricted"); + Field f = BungeeServerInfo.class.getDeclaredField("restricted"); f.setAccessible(true); f.set(this, value.asBoolean()); f.setAccessible(false); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/ServerContainer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/ServerContainer.java index 21761589..0e13a96e 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/ServerContainer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/ServerContainer.java @@ -17,6 +17,7 @@ import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.connection.ProxiedPlayer; import org.json.JSONObject; +import java.lang.reflect.Field; import java.net.InetSocketAddress; import java.util.*; @@ -29,8 +30,6 @@ public class ServerContainer extends BungeeServerInfo implements Server { private Client client = null; private List groups = new ArrayList(); private String nick = null; - private String motd; - private boolean restricted; private boolean hidden; public ServerContainer(String name, InetSocketAddress address, String motd, boolean hidden, boolean restricted) throws InvalidServerException { @@ -39,8 +38,6 @@ public class ServerContainer extends BungeeServerInfo implements Server { if (name.contains(" ")) throw new InvalidServerException("Server names cannot have spaces: " + name); signature = SubAPI.getInstance().signAnonymousObject(); SubDataServer.allowConnection(getAddress().getAddress().getHostAddress()); - this.motd = motd; - this.restricted = restricted; this.hidden = hidden; } @@ -123,28 +120,30 @@ public class ServerContainer extends BungeeServerInfo implements Server { this.hidden = value; } - @Override - public String getMotd() { - return motd; - } - - @Override public void setMotd(String value) { if (Util.isNull(value)) throw new NullPointerException(); new SubEditServerEvent(null, this, new NamedContainer("motd", value), false); - this.motd = value; + try { + Field f = BungeeServerInfo.class.getDeclaredField("motd"); + f.setAccessible(true); + f.set(this, value); + f.setAccessible(false); + } catch (Exception e) { + e.printStackTrace(); + } } - @Override - public boolean isRestricted() { - return restricted; - } - - @Override public void setRestricted(boolean value) { if (Util.isNull(value)) throw new NullPointerException(); new SubEditServerEvent(null, this, new NamedContainer("restricted", value), false); - this.restricted = value; + try { + Field f = BungeeServerInfo.class.getDeclaredField("restricted"); + f.setAccessible(true); + f.set(this, value); + f.setAccessible(false); + } catch (Exception e) { + e.printStackTrace(); + } } @Override diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadLang.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadLang.java index 4acf2268..69f7ac33 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadLang.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadLang.java @@ -7,6 +7,9 @@ import net.ME1312.SubServers.Bungee.Network.PacketOut; import net.ME1312.SubServers.Bungee.SubPlugin; import org.json.JSONObject; +import java.util.LinkedHashMap; +import java.util.Map; + /** * Download Lang Packet */ @@ -38,7 +41,10 @@ public class PacketDownloadLang implements PacketIn, PacketOut { public JSONObject generate() { JSONObject json = new JSONObject(); json.put("id", id); - json.put("Lang", plugin.api.getLang()); + LinkedHashMap> full = new LinkedHashMap<>(); + for (String channel : plugin.api.getLangChannels()) + full.put(channel, plugin.api.getLang(channel)); + json.put("Lang", full); return json; } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java index 8ec35a39..93b12ac1 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java @@ -147,8 +147,8 @@ public final class SubDataServer { */ public static void addCipher(String handle, Cipher cipher) { if (Util.isNull(cipher)) throw new NullPointerException(); - if (!ciphers.keySet().contains(handle.toLowerCase().replace('-', '_').replace(' ', '_'))) - ciphers.put(handle.toLowerCase().replace('-', '_').replace(' ', '_'), cipher); + if (ciphers.keySet().contains(handle.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new IllegalStateException("Cipher already exists: " + handle); + ciphers.put(handle.toUpperCase().replace('-', '_').replace(' ', '_'), cipher); } /** @@ -176,7 +176,7 @@ public final class SubDataServer { * @return Cipher */ public static Cipher getCipher(String handle) { - return getCiphers().get(handle.toLowerCase().replace('-', '_').replace(' ', '_')); + return getCiphers().get(handle.toUpperCase().replace('-', '_').replace(' ', '_')); } /** diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubAPI.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubAPI.java index bfa7a9ed..de443ab4 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubAPI.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubAPI.java @@ -8,7 +8,6 @@ import net.ME1312.SubServers.Bungee.Host.Server; import net.ME1312.SubServers.Bungee.Host.Host; import net.ME1312.SubServers.Bungee.Host.ServerContainer; import net.ME1312.SubServers.Bungee.Host.SubServer; -import net.ME1312.SubServers.Bungee.Library.Config.YAMLSection; import net.ME1312.SubServers.Bungee.Library.Exception.InvalidHostException; import net.ME1312.SubServers.Bungee.Library.NamedContainer; import net.ME1312.SubServers.Bungee.Library.UniversalFile; @@ -28,9 +27,9 @@ import java.util.*; public final class SubAPI { LinkedList> listeners = new LinkedList>(); LinkedList reloadListeners = new LinkedList(); - private HashMap knownSignatures = new HashMap(); + private static HashMap knownSignatures = new HashMap(); boolean ready = false; - private SubPlugin plugin; + private final SubPlugin plugin; private static SubAPI api; protected SubAPI(SubPlugin plugin) { @@ -89,15 +88,6 @@ public final class SubAPI { return plugin.subdata; } - /** - * Get a list of all available Host Drivers - * - * @return Host Driver handle list - */ - public List getHostDrivers() { - return new LinkedList(plugin.hostDrivers.keySet()); - } - /** * Adds a Driver for Hosts * @@ -106,8 +96,17 @@ public final class SubAPI { */ public void addHostDriver(Class driver, String handle) { if (Util.isNull(driver, handle)) throw new NullPointerException(); - if (plugin.hostDrivers.keySet().contains(handle.toLowerCase())) throw new IllegalStateException("Driver already exists: " + handle); - plugin.hostDrivers.put(handle.toLowerCase(), driver); + if (plugin.hostDrivers.keySet().contains(handle.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new IllegalStateException("Driver already exists: " + handle); + plugin.hostDrivers.put(handle.toUpperCase().replace('-', '_').replace(' ', '_'), driver); + } + + /** + * Get a list of all available Host Drivers + * + * @return Host Driver handle list + */ + public List getHostDrivers() { + return new LinkedList(plugin.hostDrivers.keySet()); } /** @@ -167,8 +166,8 @@ public final class SubAPI { */ public Host addHost(UUID player, String driver, String name, boolean enabled, InetAddress address, String directory, String gitBash) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { if (Util.isNull(driver, name, enabled, address, directory, gitBash)) throw new NullPointerException(); - if (!getHostDrivers().contains(driver)) throw new InvalidHostException("Invalid Driver for host: " + name); - return addHost(player, plugin.hostDrivers.get(driver.toLowerCase()), name, enabled, address, directory, gitBash); + if (!getHostDrivers().contains(driver.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new InvalidHostException("Invalid Driver for host: " + name); + return addHost(player, plugin.hostDrivers.get(driver.toUpperCase().replace('-', '_').replace(' ', '_')), name, enabled, address, directory, gitBash); } /** @@ -208,8 +207,8 @@ public final class SubAPI { */ public Host addHost(UUID player, Class driver, String name, boolean enabled, InetAddress address, String directory, String gitBash) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { if (Util.isNull(driver, name, enabled, address, directory, gitBash)) throw new NullPointerException(); - Host host; - return (addHost(player, host = driver.getConstructor(SubPlugin.class, String.class, Boolean.class, InetAddress.class, String.class, String.class).newInstance(plugin, name, (Boolean) enabled, address, directory, gitBash)))?host:null; + Host host = driver.getConstructor(SubPlugin.class, String.class, Boolean.class, InetAddress.class, String.class, String.class).newInstance(plugin, name, (Boolean) enabled, address, directory, gitBash); + return addHost(player, host)?host:null; } /** @@ -544,12 +543,12 @@ public final class SubAPI { } /** - * Gets the SubServers Lang + * Gets the current SubServers Lang Channels * - * @return SubServers Lang + * @return SubServers Lang Channel list */ - public Map> getLang() { - return new LinkedHashMap<>(plugin.lang); + public Collection getLangChannels() { + return plugin.lang.keySet(); } /** @@ -560,7 +559,7 @@ public final class SubAPI { */ public Map getLang(String channel) { if (Util.isNull(channel)) throw new NullPointerException(); - return getLang().get(channel.toLowerCase()); + return new LinkedHashMap<>(plugin.lang.get(channel.toLowerCase())); } /** diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index 2d7617fd..3073b114 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -63,7 +63,7 @@ public final class SubPlugin extends BungeeCord implements Listener { public long resetDate = 0; private boolean running = false; private boolean posted = false; - private BigInteger lastSignature = new BigInteger("-1"); + private static BigInteger lastSignature = new BigInteger("-1"); @SuppressWarnings("unchecked") protected SubPlugin(PrintStream out) throws IOException { @@ -234,7 +234,7 @@ public final class SubPlugin extends BungeeCord implements Listener { if (!config.get().getSection("Settings").getSection("SubData").getRawString("Encryption", "NONE").equalsIgnoreCase("NONE")) { if (config.get().getSection("Settings").getSection("SubData").getString("Password", "").length() == 0) { System.out.println("SubData > Cannot encrypt connection without a password"); - } else if (!SubDataServer.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toLowerCase().replace('-', '_').replace(' ', '_'))) { + } else if (!SubDataServer.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toUpperCase().replace('-', '_').replace(' ', '_'))) { System.out.println("SubData > Unknown encryption type: " + config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); } else { cipher = SubDataServer.getCipher(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); @@ -258,10 +258,10 @@ public final class SubPlugin extends BungeeCord implements Listener { System.out.println("SubServers > "+((status)?"Rel":"L")+"oading Hosts..."); for (String name : config.get().getSection("Hosts").getKeys()) { if (!ukeys.contains(name.toLowerCase())) try { - if (!hostDrivers.keySet().contains(config.get().getSection("Hosts").getSection(name).getRawString("Driver").toLowerCase())) throw new InvalidHostException("Invalid Driver for host: " + name); + if (!hostDrivers.keySet().contains(config.get().getSection("Hosts").getSection(name).getRawString("Driver").toUpperCase().replace('-', '_').replace(' ', '_'))) throw new InvalidHostException("Invalid Driver for host: " + name); Host host = this.hosts.get(name.toLowerCase()); if (host == null || // Host must be reset - !hostDrivers.get(config.get().getSection("Hosts").getSection(name).getRawString("Driver").toLowerCase()).equals(host.getClass()) || + !hostDrivers.get(config.get().getSection("Hosts").getSection(name).getRawString("Driver").toUpperCase().replace('-', '_').replace(' ', '_')).equals(host.getClass()) || !config.get().getSection("Hosts").getSection(name).getRawString("Address").equals(host.getAddress().getHostAddress()) || !config.get().getSection("Hosts").getSection(name).getRawString("Directory").equals(host.getPath()) || !config.get().getSection("Hosts").getSection(name).getRawString("Git-Bash").equals(host.getCreator().getBashDirectory()) @@ -585,7 +585,7 @@ public final class SubPlugin extends BungeeCord implements Listener { * @return Method Response */ @SuppressWarnings("unchecked") - public Object redis(String method, NamedContainer, ? extends T>... args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + public Object redis(String method, NamedContainer, ?>... args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { if (redis) { Object api = getPluginManager().getPlugin("RedisBungee").getClass().getMethod("getApi").invoke(null); Class[] classargs = new Class[args.length]; @@ -608,7 +608,7 @@ public final class SubPlugin extends BungeeCord implements Listener { */ @Override public String getName() { - return (new Version(super.getVersion()).equals(version))?"SubServers.Bungee.Patch":super.getName(); + return (new Version(super.getVersion()).equals(version))?"SubServers.Bungee":super.getName(); } /** diff --git a/SubServers.Client/Bukkit/src.jar b/SubServers.Client/Bukkit/src.jar index d5927a9c..bac9cfab 100644 Binary files a/SubServers.Client/Bukkit/src.jar and b/SubServers.Client/Bukkit/src.jar differ diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/InternalUIHandler.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/InternalUIHandler.java index 69d455e9..79619dd3 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/InternalUIHandler.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/InternalUIHandler.java @@ -59,7 +59,7 @@ public class InternalUIHandler implements UIHandler, Listener { if (gui.open && event.getClickedInventory() != null && event.getClickedInventory().getTitle() != null) { if (plugin.subdata == null) { new IllegalStateException("SubData is not connected").printStackTrace(); - } else if (Util.isException(() -> plugin.api.getLang())) { + } else if (Util.isException(() -> plugin.api.getLangChannels())) { new IllegalStateException("There are no lang options available at this time").printStackTrace(); } else if (event.getClickedInventory().getTitle().equals(plugin.api.getLang("SubServers", "Interface.Host-Menu.Title"))) { // Host Menu if (event.getCurrentItem() != null && event.getCurrentItem().getType() != Material.AIR && event.getCurrentItem().hasItemMeta()) { diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubDataClient.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubDataClient.java index ce90674b..32315cf6 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubDataClient.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubDataClient.java @@ -191,8 +191,8 @@ public final class SubDataClient { */ public static void addCipher(String handle, Cipher cipher) { if (Util.isNull(cipher)) throw new NullPointerException(); - if (!ciphers.keySet().contains(handle.toLowerCase().replace('-', '_').replace(' ', '_'))) - ciphers.put(handle.toLowerCase().replace('-', '_').replace(' ', '_'), cipher); + if (ciphers.keySet().contains(handle.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new IllegalStateException("Cipher already exists: " + handle); + ciphers.put(handle.toUpperCase().replace('-', '_').replace(' ', '_'), cipher); } /** @@ -220,7 +220,7 @@ public final class SubDataClient { * @return Cipher */ public static Cipher getCipher(String handle) { - return getCiphers().get(handle.toLowerCase().replace('-', '_').replace(' ', '_')); + return getCiphers().get(handle.toUpperCase().replace('-', '_').replace(' ', '_')); } /** diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubAPI.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubAPI.java index c39f6c7a..a3e4a30c 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubAPI.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubAPI.java @@ -6,17 +6,14 @@ import net.ME1312.SubServers.Client.Bukkit.Library.Version.Version; import net.ME1312.SubServers.Client.Bukkit.Network.SubDataClient; import org.bukkit.Bukkit; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.Map; +import java.util.*; /** * SubAPI Class */ public final class SubAPI { LinkedList reloadListeners = new LinkedList(); - private SubPlugin plugin; + private final SubPlugin plugin; private static SubAPI api; protected SubAPI(SubPlugin plugin) { @@ -63,24 +60,23 @@ public final class SubAPI { } /** - * Gets the SubServers Lang + * Gets the current SubServers Lang Channels * - * @return SubServers Lang + * @return SubServers Lang Channel list */ - public Map> getLang() { - if (Util.isNull(plugin.lang, plugin.lang.get())) throw new NullPointerException(); - return new LinkedHashMap<>(plugin.lang.get()); + public Collection getLangChannels() { + return plugin.lang.get().keySet(); } /** * Gets values from the SubServers Lang * * @param channel Lang Channel - * @return Lang Values + * @return Lang Value */ public Map getLang(String channel) { if (Util.isNull(channel)) throw new NullPointerException(); - return getLang().get(channel.toLowerCase()); + return new LinkedHashMap<>(plugin.lang.get().get(channel.toLowerCase())); } /** @@ -88,7 +84,7 @@ public final class SubAPI { * * @param channel Lang Channel * @param key Key - * @return Lang Value + * @return Lang Values */ public String getLang(String channel, String key) { if (Util.isNull(channel, key)) throw new NullPointerException(); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java index efe803db..e5579eb0 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java @@ -121,7 +121,7 @@ public final class SubPlugin extends JavaPlugin { if (!config.get().getSection("Settings").getSection("SubData").getRawString("Encryption", "NONE").equalsIgnoreCase("NONE")) { if (config.get().getSection("Settings").getSection("SubData").getString("Password", "").length() == 0) { System.out.println("SubData > Cannot encrypt connection without a password"); - } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toLowerCase().replace('-', '_').replace(' ', '_'))) { + } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toUpperCase().replace('-', '_').replace(' ', '_'))) { System.out.println("SubData > Unknown encryption type: " + config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); } else { cipher = SubDataClient.getCipher(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); diff --git a/SubServers.Host/src.jar b/SubServers.Host/src.jar index e7ce3934..59bfd9ad 100644 Binary files a/SubServers.Host/src.jar and b/SubServers.Host/src.jar differ diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java index 0b80cf90..869e0049 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java @@ -69,7 +69,13 @@ public final class ExHost { * @throws Exception */ public static void main(String[] args) throws Exception { - new ExHost(new File(URLDecoder.decode(System.getProperty("subservers.host.runtime"), "UTF-8")), args); + if (System.getProperty("RM.subservers", "true").equalsIgnoreCase("true")) { + new ExHost(new File(URLDecoder.decode(System.getProperty("subservers.host.runtime"), "UTF-8")), args); + } else { + System.out.println(">> SubServers code has been disallowed to work on this machine"); + System.out.println(">> Check with your provider for more information"); + System.exit(1); + } } private ExHost(File runtime, String[] args) { this.runtime = new UniversalFile(runtime); @@ -131,7 +137,7 @@ public final class ExHost { if (!config.get().getSection("Settings").getSection("SubData").getRawString("Encryption", "NONE").equalsIgnoreCase("NONE")) { if (config.get().getSection("Settings").getSection("SubData").getString("Password", "").length() == 0) { log.info.println("Cannot encrypt connection without a password"); - } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toLowerCase().replace('-', '_').replace(' ', '_'))) { + } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toUpperCase().replace('-', '_').replace(' ', '_'))) { log.info.println("Unknown encryption type: " + config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); } else { cipher = SubDataClient.getCipher(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); @@ -310,7 +316,7 @@ public final class ExHost { if (!config.get().getSection("Settings").getSection("SubData").getRawString("Encryption", "NONE").equalsIgnoreCase("NONE")) { if (config.get().getSection("Settings").getSection("SubData").getString("Password", "").length() == 0) { log.info.println("Cannot encrypt connection without a password"); - } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toLowerCase().replace('-', '_').replace(' ', '_'))) { + } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toUpperCase().replace('-', '_').replace(' ', '_'))) { log.info.println("Unknown encryption type: " + config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); } else { cipher = SubDataClient.getCipher(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java index 1aac322e..1156e504 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java @@ -213,8 +213,8 @@ public final class SubDataClient { */ public static void addCipher(String handle, Cipher cipher) { if (Util.isNull(cipher)) throw new NullPointerException(); - if (!ciphers.keySet().contains(handle.toLowerCase().replace('-', '_').replace(' ', '_'))) - ciphers.put(handle.toLowerCase().replace('-', '_').replace(' ', '_'), cipher); + if (ciphers.keySet().contains(handle.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new IllegalStateException("Cipher already exists: " + handle); + ciphers.put(handle.toUpperCase().replace('-', '_').replace(' ', '_'), cipher); } /** @@ -242,7 +242,7 @@ public final class SubDataClient { * @return Cipher */ public static Cipher getCipher(String handle) { - return getCiphers().get(handle.toLowerCase().replace('-', '_').replace(' ', '_')); + return getCiphers().get(handle.toUpperCase().replace('-', '_').replace(' ', '_')); } /** diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/SubAPI.java b/SubServers.Host/src/net/ME1312/SubServers/Host/SubAPI.java index 91299641..b23a0bfc 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/SubAPI.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/SubAPI.java @@ -23,7 +23,7 @@ public final class SubAPI { final HashMap schedule = new HashMap(); final TreeMap commands = new TreeMap(); final HashMap plugins = new LinkedHashMap(); - private ExHost host; + private final ExHost host; private static SubAPI api; protected SubAPI(ExHost host) { @@ -332,24 +332,23 @@ public final class SubAPI { } /** - * Gets the SubServers Lang + * Gets the current SubServers Lang Channels * - * @return SubServers Lang + * @return SubServers Lang Channel list */ - public Map> getLang() { - if (Util.isNull(host.lang, host.lang.get())) throw new NullPointerException(); - return new LinkedHashMap<>(host.lang.get()); + public Collection getLangChannels() { + return host.lang.get().keySet(); } /** * Gets values from the SubServers Lang * * @param channel Lang Channel - * @return Lang Values + * @return Lang Value */ public Map getLang(String channel) { if (Util.isNull(channel)) throw new NullPointerException(); - return getLang().get(channel.toLowerCase()); + return new LinkedHashMap<>(host.lang.get().get(channel.toLowerCase())); } /** @@ -357,7 +356,7 @@ public final class SubAPI { * * @param channel Lang Channel * @param key Key - * @return Lang Value + * @return Lang Values */ public String getLang(String channel, String key) { if (Util.isNull(channel, key)) throw new NullPointerException(); diff --git a/SubServers.Sync/src.jar b/SubServers.Sync/src.jar index 43062d32..2f421826 100644 Binary files a/SubServers.Sync/src.jar and b/SubServers.Sync/src.jar differ diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java index 6f8bec0d..82189c96 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java @@ -192,8 +192,8 @@ public final class SubDataClient { */ public static void addCipher(String handle, Cipher cipher) { if (Util.isNull(cipher)) throw new NullPointerException(); - if (!ciphers.keySet().contains(handle.toLowerCase().replace('-', '_').replace(' ', '_'))) - ciphers.put(handle.toLowerCase().replace('-', '_').replace(' ', '_'), cipher); + if (ciphers.keySet().contains(handle.toUpperCase().replace('-', '_').replace(' ', '_'))) throw new IllegalStateException("Cipher already exists: " + handle); + ciphers.put(handle.toUpperCase().replace('-', '_').replace(' ', '_'), cipher); } /** @@ -221,7 +221,7 @@ public final class SubDataClient { * @return Cipher */ public static Cipher getCipher(String handle) { - return getCiphers().get(handle.toLowerCase().replace('-', '_').replace(' ', '_')); + return getCiphers().get(handle.toUpperCase().replace('-', '_').replace(' ', '_')); } /** diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/Server.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/Server.java index 70b7aa4a..1c007cb6 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/Server.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/Server.java @@ -4,6 +4,7 @@ import net.ME1312.SubServers.Sync.Library.Util; import net.md_5.bungee.BungeeServerInfo; import net.md_5.bungee.api.ChatColor; +import java.lang.reflect.Field; import java.net.InetSocketAddress; /** @@ -12,16 +13,12 @@ import java.net.InetSocketAddress; public class Server extends BungeeServerInfo { private final String signature; private String nick = null; - private String motd; - private boolean restricted; private boolean hidden; public Server(String signature, String name, String display, InetSocketAddress address, String motd, boolean hidden, boolean restricted) { super(name, address, ChatColor.translateAlternateColorCodes('&', motd), restricted); if (Util.isNull(name, address, motd, hidden, restricted)) throw new NullPointerException(); this.signature = signature; - this.motd = motd; - this.restricted = restricted; this.hidden = hidden; setDisplayName(display); } @@ -67,16 +64,6 @@ public class Server extends BungeeServerInfo { this.hidden = value; } - /** - * Gets the MOTD of the Server - * - * @return Server MOTD - */ - @Override - public String getMotd() { - return motd; - } - /** * Sets the MOTD of the Server * @@ -84,17 +71,14 @@ public class Server extends BungeeServerInfo { */ public void setMotd(String value) { if (Util.isNull(value)) throw new NullPointerException(); - this.motd = value; - } - - /** - * Gets if the Server is Restricted - * - * @return Restricted Status - */ - @Override - public boolean isRestricted() { - return restricted; + try { + Field f = BungeeServerInfo.class.getDeclaredField("motd"); + f.setAccessible(true); + f.set(this, value); + f.setAccessible(false); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -104,7 +88,14 @@ public class Server extends BungeeServerInfo { */ public void setRestricted(boolean value) { if (Util.isNull(value)) throw new NullPointerException(); - this.restricted = value; + try { + Field f = BungeeServerInfo.class.getDeclaredField("restricted"); + f.setAccessible(true); + f.set(this, value); + f.setAccessible(false); + } catch (Exception e) { + e.printStackTrace(); + } } /** diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubAPI.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubAPI.java index 356ed7d3..dade3023 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubAPI.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubAPI.java @@ -14,7 +14,7 @@ import java.util.*; */ public final class SubAPI { LinkedList> listeners = new LinkedList>(); - private SubPlugin plugin; + private final SubPlugin plugin; private static SubAPI api; protected SubAPI(SubPlugin plugin) { @@ -82,24 +82,23 @@ public final class SubAPI { } /** - * Gets the SubServers Lang + * Gets the current SubServers Lang Channels * - * @return SubServers Lang + * @return SubServers Lang Channel list */ - public Map> getLang() { - if (Util.isNull(plugin.lang, plugin.lang.get())) throw new NullPointerException(); - return new LinkedHashMap<>(plugin.lang.get()); + public Collection getLangChannels() { + return plugin.lang.get().keySet(); } /** * Gets values from the SubServers Lang * * @param channel Lang Channel - * @return Lang Values + * @return Lang Value */ public Map getLang(String channel) { if (Util.isNull(channel)) throw new NullPointerException(); - return getLang().get(channel.toLowerCase()); + return new LinkedHashMap<>(plugin.lang.get().get(channel.toLowerCase())); } /** @@ -107,7 +106,7 @@ public final class SubAPI { * * @param channel Lang Channel * @param key Key - * @return Lang Value + * @return Lang Values */ public String getLang(String channel, String key) { if (Util.isNull(channel, key)) throw new NullPointerException(); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java index c66518a0..79e84f63 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java @@ -96,7 +96,7 @@ public final class SubPlugin extends BungeeCord implements Listener { if (!config.get().getSection("Settings").getSection("SubData").getRawString("Encryption", "NONE").equalsIgnoreCase("NONE")) { if (config.get().getSection("Settings").getSection("SubData").getString("Password", "").length() == 0) { System.out.println("SubData > Cannot encrypt connection without a password"); - } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toLowerCase().replace('-', '_').replace(' ', '_'))) { + } else if (!SubDataClient.getCiphers().keySet().contains(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption").toUpperCase().replace('-', '_').replace(' ', '_'))) { System.out.println("SubData > Unknown encryption type: " + config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); } else { cipher = SubDataClient.getCipher(config.get().getSection("Settings").getSection("SubData").getRawString("Encryption")); @@ -158,7 +158,7 @@ public final class SubPlugin extends BungeeCord implements Listener { * @return Method Response */ @SuppressWarnings("unchecked") - public Object redis(String method, NamedContainer, ? extends T>... args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + public Object redis(String method, NamedContainer, ?>... args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { if (redis) { Object api = getPluginManager().getPlugin("RedisBungee").getClass().getMethod("getApi").invoke(null); Class[] classargs = new Class[args.length]; @@ -181,7 +181,7 @@ public final class SubPlugin extends BungeeCord implements Listener { */ @Override public String getName() { - return (new Version(super.getVersion()).equals(version))?"SubServers.Sync.Patch":super.getName(); + return (new Version(super.getVersion()).equals(version))?"SubServers.Sync":super.getName(); } /**