From fcde0bc8454010aed75d7da8d08d4426745ca0e8 Mon Sep 17 00:00:00 2001 From: ME1312 Date: Thu, 17 Jan 2019 12:44:47 -0500 Subject: [PATCH] Add Version support to YAMLConfig --- .../Host/External/ExternalSubCreator.java | 5 ++- .../Host/Internal/InternalSubCreator.java | 5 ++- .../Bungee/Library/Config/YAMLSection.java | 45 +++++++++++++++++++ .../Bungee/Library/Config/YAMLValue.java | 29 +++++++++++- .../Network/Packet/PacketCreateServer.java | 4 +- .../Network/Packet/PacketExCreateServer.java | 2 +- .../Bungee/Network/SubDataServer.java | 2 +- .../ME1312/SubServers/Bungee/SubPlugin.java | 12 ++--- .../Bukkit/Library/Config/YAMLSection.java | 45 +++++++++++++++++++ .../Bukkit/Library/Config/YAMLValue.java | 25 +++++++++++ .../Network/Packet/PacketCreateServer.java | 2 +- .../Client/Bukkit/Network/SubDataClient.java | 4 +- .../SubServers/Client/Bukkit/SubPlugin.java | 2 +- .../Sponge/Library/Config/YAMLSection.java | 45 +++++++++++++++++++ .../Sponge/Library/Config/YAMLValue.java | 30 ++++++++++++- .../Network/Packet/PacketCreateServer.java | 2 +- .../Client/Sponge/Network/SubDataClient.java | 4 +- .../SubServers/Client/Sponge/SubPlugin.java | 2 +- SubServers.Host/pom.xml | 2 +- .../net/ME1312/SubServers/Host/ExHost.java | 2 +- .../Host/Executable/SubCreator.java | 9 ++-- .../Network/Packet/PacketCreateServer.java | 2 +- .../Network/Packet/PacketExCreateServer.java | 2 +- .../Host/Network/Packet/PacketInRunEvent.java | 2 +- .../Host/Network/SubDataClient.java | 2 +- .../Sync/Library/Config/YAMLSection.java | 45 +++++++++++++++++++ .../Sync/Library/Config/YAMLValue.java | 29 +++++++++++- .../Sync/Network/Packet/PacketInRunEvent.java | 2 +- .../Sync/Network/SubDataClient.java | 2 +- .../net/ME1312/SubServers/Sync/SubPlugin.java | 2 +- 30 files changed, 326 insertions(+), 40 deletions(-) diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubCreator.java index 3ae97cdd..22d01c8f 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubCreator.java @@ -101,7 +101,10 @@ public class ExternalSubCreator extends SubCreator { YAMLSection server = new YAMLSection(); YAMLSection config = new YAMLSection((Map) convert(data.getSection("c").get(), new NamedContainer<>("$player$", (player == null)?"":player.toString()), new NamedContainer<>("$name$", name), - new NamedContainer<>("$template$", template.getName()), new NamedContainer<>("$type$", template.getType().toString()), new NamedContainer<>("$version$", version.toString().replace(" ", "@")), new NamedContainer<>("$port$", Integer.toString(fport)))); + new NamedContainer<>("$template$", template.getName()), new NamedContainer<>("$type$", template.getType().toString()), new NamedContainer<>("$version$", version.toString().replace(" ", "@")), + new NamedContainer<>("$address$", data.getSection("c").getRawString("\033address", "null")), new NamedContainer<>("$port$", Integer.toString(fport)))); + + config.remove("\033address"); server.set("Enabled", true); server.set("Display", ""); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java index 7382f660..f90dbbc4 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java @@ -192,8 +192,9 @@ public class InternalSubCreator extends SubCreator { if (host.plugin.exServers.keySet().contains(name.toLowerCase())) host.plugin.exServers.remove(name.toLowerCase()); - config = new YAMLSection((Map) convert(config.get(), new NamedContainer<>("$player$", (player == null)?"":player.toString()), new NamedContainer<>("$name$", name), new NamedContainer<>("$template$", template.getName()), - new NamedContainer<>("$type$", template.getType().toString()), new NamedContainer<>("$version$", version.toString().replace(" ", "@")), new NamedContainer<>("$port$", Integer.toString(port)))); + config = new YAMLSection((Map) convert(config.get(), new NamedContainer<>("$player$", (player == null)?"":player.toString()), new NamedContainer<>("$name$", name), + new NamedContainer<>("$template$", template.getName()), new NamedContainer<>("$type$", template.getType().toString()), new NamedContainer<>("$version$", version.toString().replace(" ", "@")), + new NamedContainer<>("$address$", host.getAddress().getHostAddress()), new NamedContainer<>("$port$", Integer.toString(port)))); server.set("Enabled", true); server.set("Display", ""); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java index c4a6a3c8..df3c6a69 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java @@ -2,6 +2,7 @@ package net.ME1312.SubServers.Bungee.Library.Config; import com.google.gson.Gson; import net.ME1312.SubServers.Bungee.Library.Util; +import net.ME1312.SubServers.Bungee.Library.Version.Version; import org.msgpack.value.MapValue; import org.msgpack.value.Value; import org.msgpack.value.ValueFactory; @@ -211,6 +212,8 @@ public class YAMLSection { return list; } else if (value instanceof UUID) { return value.toString(); + } else if (value instanceof Version) { + return ((Version) value).toFullString(); } else { return value; } @@ -958,6 +961,48 @@ public class YAMLSection { return get(handle, def).asUUIDList(); } + /** + * Get a Version by Handle + * + * @param handle Handle + * @return Version + */ + public Version getVersion(String handle) { + return get(handle).asVersion(); + } + + /** + * Get a Version by Handle + * + * @param handle Handle + * @param def Default + * @return Version + */ + public Version getVersion(String handle, Version def) { + return get(handle, def).asVersion(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @return Version List + */ + public List getVersionList(String handle) { + return get(handle).asVersionList(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @param def Default + * @return Version List + */ + public List getVersionList(String handle, List def) { + return get(handle, def).asVersionList(); + } + /** * Check if object is Null by Handle * diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLValue.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLValue.java index cc7392dc..14596ced 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLValue.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLValue.java @@ -1,6 +1,7 @@ package net.ME1312.SubServers.Bungee.Library.Config; import net.ME1312.SubServers.Bungee.Library.Util; +import net.ME1312.SubServers.Bungee.Library.Version.Version; import net.md_5.bungee.api.ChatColor; import org.yaml.snakeyaml.Yaml; @@ -268,7 +269,7 @@ public class YAMLValue { * @return UUID */ public UUID asUUID() { - if (obj != null) return UUID.fromString((String) obj); + if (obj != null) return UUID.fromString(asRawString()); else return null; } @@ -287,6 +288,30 @@ public class YAMLValue { } else return null; } + /** + * Get Object as Version + * + * @return Version + */ + public Version asVersion() { + if (obj != null) return Version.fromString(asRawString()); + else return null; + } + + /** + * Get Object as Version List + * + * @return Version List + */ + public List asVersionList() { + if (obj != null) { + List values = new ArrayList(); + for (String value : (List) obj) { + values.add(Version.fromString(value)); + } + return values; + } else return null; + } /** * Check if object is Null @@ -348,7 +373,7 @@ public class YAMLValue { * @return UUID Status */ public boolean isUUID() { - return (obj instanceof String && !Util.isException(() -> UUID.fromString((String) obj))); + return (obj instanceof String && !Util.isException(() -> UUID.fromString(asRawString()))); } @Override diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.java index 618433e9..6554f107 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.java @@ -68,12 +68,12 @@ public class PacketCreateServer implements PacketIn, PacketOut { client.sendPacket(new PacketCreateServer(8, "There is no template with that name", (data.contains("id")) ? data.getRawString("id") : null)); } else if (!plugin.hosts.get(data.getSection("creator").getString("host").toLowerCase()).getCreator().getTemplate(data.getSection("creator").getString("template")).isEnabled()) { client.sendPacket(new PacketCreateServer(8, "That Template is not enabled", (data.contains("id")) ? data.getRawString("id") : null)); - } else if (new Version("1.8").compareTo(new Version(data.getSection("creator").getString("version"))) > 0) { + } else if (new Version("1.8").compareTo(data.getSection("creator").getVersion("version")) > 0) { client.sendPacket(new PacketCreateServer(10, "SubCreator cannot create servers before Minecraft 1.8", (data.contains("id")) ? data.getRawString("id") : null)); } else if (data.getSection("creator").contains("port") && (data.getSection("creator").getInt("port") <= 0 || data.getSection("creator").getInt("port") > 65535)) { client.sendPacket(new PacketCreateServer(11, "Invalid Port Number", (data.contains("id")) ? data.getRawString("id") : null)); } else { - if (plugin.hosts.get(data.getSection("creator").getString("host").toLowerCase()).getCreator().create((data.contains("player"))?data.getUUID("player"):null, data.getSection("creator").getString("name"), plugin.hosts.get(data.getSection("creator").getString("host").toLowerCase()).getCreator().getTemplate(data.getSection("creator").getString("template")), new Version(data.getSection("creator").getString("version")), (data.getSection("creator").contains("port"))?data.getSection("creator").getInt("port"):null)) { + if (plugin.hosts.get(data.getSection("creator").getString("host").toLowerCase()).getCreator().create((data.contains("player"))?data.getUUID("player"):null, data.getSection("creator").getString("name"), plugin.hosts.get(data.getSection("creator").getString("host").toLowerCase()).getCreator().getTemplate(data.getSection("creator").getString("template")), data.getSection("creator").getVersion("version"), (data.getSection("creator").contains("port"))?data.getSection("creator").getInt("port"):null)) { if (data.contains("wait") && data.getBoolean("wait")) { new Thread(() -> { try { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCreateServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCreateServer.java index 646cf6c4..1d9f056d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCreateServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCreateServer.java @@ -65,7 +65,7 @@ public class PacketExCreateServer implements PacketIn, PacketOut { YAMLSection creator = new YAMLSection(); creator.set("name", name); creator.set("template", template.getName()); - creator.set("version", version.toString()); + creator.set("version", version); creator.set("port", port); creator.set("log", log.toString()); data.set("creator", creator); 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 23e3bb6f..af14fac0 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubDataServer.java @@ -457,7 +457,7 @@ public final class SubDataServer { List list = new ArrayList(); for (PacketIn packet : pIn.get(data.getRawString("n")).get(data.getRawString("h"))) { - if (packet.isCompatible(new Version(data.getRawString("v")))) { + if (packet.isCompatible(data.getVersion("v"))) { list.add(packet); } else { new IllegalPacketException(client.getAddress().toString() + ": Packet Version Mismatch in " + data.getRawString("h") + ": " + data.getRawString("v") + " =/= " + packet.getVersion().toString()).printStackTrace(); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index a5cfd52f..4bf8a7c9 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -88,7 +88,7 @@ public final class SubPlugin extends BungeeCord implements Listener { if (!(new UniversalFile(dir, "config.yml").exists())) { Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/config.yml", new UniversalFile(dir, "config.yml").getPath()); System.out.println("SubServers > Created ~/SubServers/config.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(dir, "config.yml"))).get().getSection("Settings").getString("Version", "0")).compareTo(new Version("2.11.2a+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(dir, "config.yml"))).get().getSection("Settings").getVersion("Version", new Version(0))).compareTo(new Version("2.11.2a+")) != 0) { Files.move(new UniversalFile(dir, "config.yml").toPath(), new UniversalFile(dir, "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/config.yml", new UniversalFile(dir, "config.yml").getPath()); @@ -99,7 +99,7 @@ public final class SubPlugin extends BungeeCord implements Listener { if (!(new UniversalFile(dir, "lang.yml").exists())) { Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath()); System.out.println("SubServers > Created ~/SubServers/lang.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.2c+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getVersion("Version", new Version(9))).compareTo(new Version("2.13.2c+")) != 0) { Files.move(new UniversalFile(dir, "lang.yml").toPath(), new UniversalFile(dir, "lang.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath()); System.out.println("SubServers > Updated ~/SubServers/lang.yml"); @@ -121,22 +121,22 @@ public final class SubPlugin extends BungeeCord implements Listener { Util.unzip(SubPlugin.class.getResourceAsStream("/net/ME1312/SubServers/Bungee/Library/Files/Templates/sponge.zip"), new UniversalFile(dir, "Templates")); System.out.println("SubServers > Created ~/SubServers/Templates/Sponge"); } else { - if (new UniversalFile(dir, "Templates:Vanilla:template.yml").exists() && (new Version((new YAMLConfig(new UniversalFile(dir, "Templates:Vanilla:template.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.2c+"))) != 0) { + if (new UniversalFile(dir, "Templates:Vanilla:template.yml").exists() && ((new YAMLConfig(new UniversalFile(dir, "Templates:Vanilla:template.yml"))).get().getVersion("Version", new Version(0))).compareTo(new Version("2.13.2c+")) != 0) { Files.move(new UniversalFile(dir, "Templates:Vanilla").toPath(), new UniversalFile(dir, "Templates:Vanilla.old" + Math.round(Math.random() * 100000) + ".x").toPath()); Util.unzip(SubPlugin.class.getResourceAsStream("/net/ME1312/SubServers/Bungee/Library/Files/Templates/vanilla.zip"), new UniversalFile(dir, "Templates")); System.out.println("SubServers > Updated ~/SubServers/Templates/Vanilla"); } - if (new UniversalFile(dir, "Templates:Spigot:template.yml").exists() && (new Version((new YAMLConfig(new UniversalFile(dir, "Templates:Spigot:template.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.2c+"))) != 0) { + if (new UniversalFile(dir, "Templates:Spigot:template.yml").exists() && ((new YAMLConfig(new UniversalFile(dir, "Templates:Spigot:template.yml"))).get().getVersion("Version", new Version(0))).compareTo(new Version("2.13.2c+")) != 0) { Files.move(new UniversalFile(dir, "Templates:Spigot").toPath(), new UniversalFile(dir, "Templates:Spigot.old" + Math.round(Math.random() * 100000) + ".x").toPath()); Util.unzip(SubPlugin.class.getResourceAsStream("/net/ME1312/SubServers/Bungee/Library/Files/Templates/spigot.zip"), new UniversalFile(dir, "Templates")); System.out.println("SubServers > Updated ~/SubServers/Templates/Spigot"); } - if (new UniversalFile(dir, "Templates:Forge:template.yml").exists() && (new Version((new YAMLConfig(new UniversalFile(dir, "Templates:Forge:template.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.2c+"))) != 0) { + if (new UniversalFile(dir, "Templates:Forge:template.yml").exists() && ((new YAMLConfig(new UniversalFile(dir, "Templates:Forge:template.yml"))).get().getVersion("Version", new Version(0))).compareTo(new Version("2.13.2c+")) != 0) { Files.move(new UniversalFile(dir, "Templates:Forge").toPath(), new UniversalFile(dir, "Templates:Forge.old" + Math.round(Math.random() * 100000) + ".x").toPath()); Util.unzip(SubPlugin.class.getResourceAsStream("/net/ME1312/SubServers/Bungee/Library/Files/Templates/forge.zip"), new UniversalFile(dir, "Templates")); System.out.println("SubServers > Updated ~/SubServers/Templates/Forge"); } - if (new UniversalFile(dir, "Templates:Sponge:template.yml").exists() && (new Version((new YAMLConfig(new UniversalFile(dir, "Templates:Sponge:template.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.2c+"))) != 0) { + if (new UniversalFile(dir, "Templates:Sponge:template.yml").exists() && ((new YAMLConfig(new UniversalFile(dir, "Templates:Sponge:template.yml"))).get().getVersion("Version", new Version(0))).compareTo(new Version("2.13.2c+")) != 0) { Files.move(new UniversalFile(dir, "Templates:Sponge").toPath(), new UniversalFile(dir, "Templates:Sponge.old" + Math.round(Math.random() * 100000) + ".x").toPath()); Util.unzip(SubPlugin.class.getResourceAsStream("/net/ME1312/SubServers/Bungee/Library/Files/Templates/sponge.zip"), new UniversalFile(dir, "Templates")); System.out.println("SubServers > Updated ~/SubServers/Templates/Sponge"); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLSection.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLSection.java index 9be65a60..3f653598 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLSection.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLSection.java @@ -1,6 +1,7 @@ package net.ME1312.SubServers.Client.Bukkit.Library.Config; import net.ME1312.SubServers.Client.Bukkit.Library.Util; +import net.ME1312.SubServers.Client.Bukkit.Library.Version.Version; import org.msgpack.value.MapValue; import org.msgpack.value.Value; import org.msgpack.value.ValueFactory; @@ -213,6 +214,8 @@ public class YAMLSection { return list; } else if (value instanceof UUID) { return value.toString(); + } else if (value instanceof Version) { + return ((Version) value).toFullString(); } else { return value; } @@ -960,6 +963,48 @@ public class YAMLSection { return get(handle, def).asUUIDList(); } + /** + * Get a Version by Handle + * + * @param handle Handle + * @return Version + */ + public Version getVersion(String handle) { + return get(handle).asVersion(); + } + + /** + * Get a Version by Handle + * + * @param handle Handle + * @param def Default + * @return Version + */ + public Version getVersion(String handle, Version def) { + return get(handle, def).asVersion(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @return Version List + */ + public List getVersionList(String handle) { + return get(handle).asVersionList(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @param def Default + * @return Version List + */ + public List getVersionList(String handle, List def) { + return get(handle, def).asVersionList(); + } + /** * Check if object is Null by Handle * diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLValue.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLValue.java index fa85e3fa..1683fe90 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLValue.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Library/Config/YAMLValue.java @@ -1,6 +1,7 @@ package net.ME1312.SubServers.Client.Bukkit.Library.Config; import net.ME1312.SubServers.Client.Bukkit.Library.Util; +import net.ME1312.SubServers.Client.Bukkit.Library.Version.Version; import org.bukkit.ChatColor; import org.yaml.snakeyaml.Yaml; @@ -290,6 +291,30 @@ public class YAMLValue { } else return null; } + /** + * Get Object as Version + * + * @return Version + */ + public Version asVersion() { + if (obj != null) return Version.fromString(asRawString()); + else return null; + } + + /** + * Get Object as Version List + * + * @return Version List + */ + public List asVersionList() { + if (obj != null) { + List values = new ArrayList(); + for (String value : (List) obj) { + values.add(Version.fromString(value)); + } + return values; + } else return null; + } /** * Check if object is Null diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCreateServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCreateServer.java index 99c8f328..229d8763 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCreateServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCreateServer.java @@ -83,7 +83,7 @@ public class PacketCreateServer implements PacketIn, PacketOut { creator.set("name", name); creator.set("host", host); creator.set("template", template); - creator.set("version", version.toString()); + creator.set("version", version); if (port != null) creator.set("port", port); data.set("creator", creator); return data; 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 8a847c21..feb25f59 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 @@ -378,7 +378,7 @@ public final class SubDataClient { YAMLSection contents = packet.generate(); data.set("n", pOut.get(packet.getClass()).name()); data.set("h", pOut.get(packet.getClass()).get()); - data.set("v", packet.getVersion().toString()); + data.set("v", packet.getVersion()); if (contents != null) data.set("c", contents); return data; } catch (Throwable e) { @@ -400,7 +400,7 @@ public final class SubDataClient { List list = new ArrayList(); for (PacketIn packet : pIn.get(data.getRawString("n")).get(data.getRawString("h"))) { - if (packet.isCompatible(new Version(data.getRawString("v")))) { + if (packet.isCompatible(data.getVersion("v"))) { list.add(packet); } else { new IllegalPacketException("Packet Version Mismatch in " + data.getRawString("h") + ": " + data.getRawString("v") + " -> " + packet.getVersion().toString()).printStackTrace(); 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 a8d1b3dd..1ddd17e7 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 @@ -60,7 +60,7 @@ public final class SubPlugin extends JavaPlugin { if (!(new UniversalFile(getDataFolder(), "config.yml").exists())) { Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); Bukkit.getLogger().info("SubServers > Created ~/plugins/SubServers-Client-Bukkit/config.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(getDataFolder(), "config.yml"))).get().getSection("Settings").getString("Version", "0")).compareTo(new Version("2.11.2a+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(getDataFolder(), "config.yml"))).get().getSection("Settings").getVersion("Version", new Version(0))).compareTo(new Version("2.11.2a+")) != 0) { Files.move(new UniversalFile(getDataFolder(), "config.yml").toPath(), new UniversalFile(getDataFolder(), "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLSection.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLSection.java index af16ebba..016dc590 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLSection.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLSection.java @@ -2,6 +2,7 @@ package net.ME1312.SubServers.Client.Sponge.Library.Config; import com.google.gson.Gson; import net.ME1312.SubServers.Client.Sponge.Library.Util; +import net.ME1312.SubServers.Client.Sponge.Library.Version.Version; import org.msgpack.value.MapValue; import org.msgpack.value.Value; import org.msgpack.value.ValueFactory; @@ -213,6 +214,8 @@ public class YAMLSection { return list; } else if (value instanceof UUID) { return value.toString(); + } else if (value instanceof Version) { + return ((Version) value).toFullString(); } else { return value; } @@ -960,6 +963,48 @@ public class YAMLSection { return get(handle, def).asUUIDList(); } + /** + * Get a Version by Handle + * + * @param handle Handle + * @return Version + */ + public Version getVersion(String handle) { + return get(handle).asVersion(); + } + + /** + * Get a Version by Handle + * + * @param handle Handle + * @param def Default + * @return Version + */ + public Version getVersion(String handle, Version def) { + return get(handle, def).asVersion(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @return Version List + */ + public List getVersionList(String handle) { + return get(handle).asVersionList(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @param def Default + * @return Version List + */ + public List getVersionList(String handle, List def) { + return get(handle, def).asVersionList(); + } + /** * Check if object is Null by Handle * diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLValue.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLValue.java index 68b365d0..5cab9238 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLValue.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Library/Config/YAMLValue.java @@ -2,6 +2,7 @@ package net.ME1312.SubServers.Client.Sponge.Library.Config; import net.ME1312.SubServers.Client.Sponge.Library.ChatColor; import net.ME1312.SubServers.Client.Sponge.Library.Util; +import net.ME1312.SubServers.Client.Sponge.Library.Version.Version; import org.yaml.snakeyaml.Yaml; import java.util.ArrayList; @@ -272,7 +273,7 @@ public class YAMLValue { * @return UUID */ public UUID asUUID() { - if (obj != null) return UUID.fromString((String) obj); + if (obj != null) return UUID.fromString(asRawString()); else return null; } @@ -291,6 +292,31 @@ public class YAMLValue { } else return null; } + /** + * Get Object as Version + * + * @return Version + */ + public Version asVersion() { + if (obj != null) return Version.fromString(asRawString()); + else return null; + } + + /** + * Get Object as Version List + * + * @return Version List + */ + public List asVersionList() { + if (obj != null) { + List values = new ArrayList(); + for (String value : (List) obj) { + values.add(Version.fromString(value)); + } + return values; + } else return null; + } + /** * Check if object is Null @@ -352,7 +378,7 @@ public class YAMLValue { * @return UUID Status */ public boolean isUUID() { - return (obj instanceof String && !Util.isException(() -> UUID.fromString((String) obj))); + return (obj instanceof String && !Util.isException(() -> UUID.fromString(asRawString()))); } @Override diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCreateServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCreateServer.java index b3b5c626..98611f2b 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCreateServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCreateServer.java @@ -83,7 +83,7 @@ public class PacketCreateServer implements PacketIn, PacketOut { creator.set("name", name); creator.set("host", host); creator.set("template", template); - creator.set("version", version.toString()); + creator.set("version", version); if (port != null) creator.set("port", port); data.set("creator", creator); return data; diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubDataClient.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubDataClient.java index 187dce4c..506a0495 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubDataClient.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubDataClient.java @@ -382,7 +382,7 @@ public final class SubDataClient { YAMLSection contents = packet.generate(); data.set("n", pOut.get(packet.getClass()).name()); data.set("h", pOut.get(packet.getClass()).get()); - data.set("v", packet.getVersion().toString()); + data.set("v", packet.getVersion()); if (contents != null) data.set("c", contents); return data; } catch (Throwable e) { @@ -404,7 +404,7 @@ public final class SubDataClient { List list = new ArrayList(); for (PacketIn packet : pIn.get(data.getRawString("n")).get(data.getRawString("h"))) { - if (packet.isCompatible(new Version(data.getRawString("v")))) { + if (packet.isCompatible(data.getVersion("v"))) { list.add(packet); } else { new IllegalPacketException("Packet Version Mismatch in " + data.getRawString("h") + ": " + data.getRawString("v") + " -> " + packet.getVersion().toString()).printStackTrace(); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java index d43d0f19..9f973c46 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java @@ -85,7 +85,7 @@ public final class SubPlugin { if (!(new UniversalFile(dir, "config.yml").exists())) { Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(dir, "config.yml").getPath()); logger.info("Created ~/config/subservers-client-sponge/config.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(dir, "config.yml"))).get().getSection("Settings").getString("Version", "0")).compareTo(new Version("2.11.2a+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(dir, "config.yml"))).get().getSection("Settings").getVersion("Version", new Version(0))).compareTo(new Version("2.11.2a+")) != 0) { Files.move(new UniversalFile(dir, "config.yml").toPath(), new UniversalFile(dir, "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(dir, "config.yml").getPath()); diff --git a/SubServers.Host/pom.xml b/SubServers.Host/pom.xml index 13474dd4..78f39c93 100644 --- a/SubServers.Host/pom.xml +++ b/SubServers.Host/pom.xml @@ -20,7 +20,7 @@ net.ME1312.Galaxi GalaxiEngine - 19w03b + 19w03d compile diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java index 88f43b70..93df0d5e 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java @@ -138,7 +138,7 @@ public final class ExHost { if (!(new UniversalFile(engine.getRuntimeDirectory(), "config.yml").exists())) { Util.copyFromJar(ExHost.class.getClassLoader(), "net/ME1312/SubServers/Host/Library/Files/config.yml", new UniversalFile(engine.getRuntimeDirectory(), "config.yml").getPath()); log.info.println("Created ~/config.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(engine.getRuntimeDirectory(), "config.yml"))).get().getSection("Settings").getString("Version", "0")).compareTo(new Version("2.11.2a+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(engine.getRuntimeDirectory(), "config.yml"))).get().getSection("Settings").getVersion("Version", new Version(0)).compareTo(new Version("2.11.2a+"))) != 0) { Files.move(new UniversalFile(engine.getRuntimeDirectory(), "config.yml").toPath(), new UniversalFile(engine.getRuntimeDirectory(), "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(ExHost.class.getClassLoader(), "net/ME1312/SubServers/Host/Library/Files/config.yml", new UniversalFile(engine.getRuntimeDirectory(), "config.yml").getPath()); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreator.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreator.java index 86c1d20e..a3fd80dc 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreator.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreator.java @@ -271,7 +271,7 @@ public class SubCreator { log.logger.error.println(e); } - if (template.getBuildOptions().contains("Shell-Location")) { + if (template.getBuildOptions().contains("Executable")) { File cache; if (template.getBuildOptions().getBoolean("Use-Cache", true)) { cache = new UniversalFile(GalaxiEngine.getInstance().getRuntimeDirectory(), "Cache:Templates:" + template.getName()); @@ -333,12 +333,13 @@ public class SubCreator { server = null; log.logger.error.println(e); } - + YAMLSection config = template.getConfigOptions().clone(); + config.set("\033address", host.config.get().getSection("Settings").getRawString("Server-Bind")); if (server != null) { - host.subdata.sendPacket(new PacketExCreateServer(0, "Created Server Successfully", template.getConfigOptions(), id)); + host.subdata.sendPacket(new PacketExCreateServer(0, "Created Server Successfully", config, id)); } else { log.logger.info.println("Couldn't build the server jar. Check the SubCreator logs for more detail."); - host.subdata.sendPacket(new PacketExCreateServer(-1, "Couldn't build the server jar. Check the SubCreator logs for more detail.", template.getConfigOptions(), id)); + host.subdata.sendPacket(new PacketExCreateServer(-1, "Couldn't build the server jar. Check the SubCreator logs for more detail.", config, id)); } SubCreator.this.thread.remove(name.toLowerCase()); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCreateServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCreateServer.java index 4a0b0b75..dbe34cf5 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCreateServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCreateServer.java @@ -61,7 +61,7 @@ public class PacketCreateServer implements PacketIn, PacketOut { creator.set("name", name); creator.set("host", host); creator.set("template", template); - creator.set("version", version.toString()); + creator.set("version", version); if (port != null) creator.set("port", port); data.set("creator", creator); return data; diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExCreateServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExCreateServer.java index 8b0fee25..1591ba8b 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExCreateServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExCreateServer.java @@ -58,7 +58,7 @@ public class PacketExCreateServer implements PacketIn, PacketOut { @Override public void execute(YAMLSection data) { try { - host.creator.create(data.getSection("creator").getRawString("name"), host.templates.get(data.getSection("creator").getRawString("template").toLowerCase()), new Version(data.getSection("creator").getRawString("version")), + host.creator.create(data.getSection("creator").getRawString("name"), host.templates.get(data.getSection("creator").getRawString("template").toLowerCase()), data.getSection("creator").getVersion("version"), data.getSection("creator").getInt("port"), data.getSection("creator").getUUID("log"), (data.contains("id"))?data.getRawString("id"):null); } catch (Throwable e) { if (data.contains("thread")) { diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInRunEvent.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInRunEvent.java index 0a471041..bd1864fc 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInRunEvent.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInRunEvent.java @@ -49,7 +49,7 @@ public class PacketInRunEvent implements PacketIn { @Override public void run(YAMLSection data) { GalaxiEngine.getInstance().getPluginManager().executeEvent(new SubCreateEvent((data.contains("player"))?data.getUUID("player"):null, data.getRawString("host"), data.getRawString("name"), - data.getRawString("template"), new Version(data.getRawString("version")), data.getInt("port"))); + data.getRawString("template"), data.getVersion("version"), data.getInt("port"))); callback("SubCreateEvent", this); } }); 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 5a63ebf3..2fa7fd73 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubDataClient.java @@ -525,7 +525,7 @@ public final class SubDataClient { List list = new ArrayList(); for (PacketIn packet : pIn.get(data.getRawString("n")).get(data.getRawString("h"))) { - if (packet.isCompatible(new Version(data.getRawString("v")))) { + if (packet.isCompatible(data.getVersion("v"))) { list.add(packet); } else { SubAPI.getInstance().getInternals().log.error.println(new IllegalPacketException("Packet Version Mismatch in " + data.getRawString("h") + ": " + data.getRawString("v") + " -> " + packet.getVersion().toString())); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLSection.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLSection.java index 220956ed..e9e20d26 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLSection.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLSection.java @@ -2,6 +2,7 @@ package net.ME1312.SubServers.Sync.Library.Config; import com.google.gson.Gson; import net.ME1312.SubServers.Sync.Library.Util; +import net.ME1312.SubServers.Sync.Library.Version.Version; import org.msgpack.value.MapValue; import org.msgpack.value.Value; import org.msgpack.value.ValueFactory; @@ -213,6 +214,8 @@ public class YAMLSection { return list; } else if (value instanceof UUID) { return value.toString(); + } else if (value instanceof Version) { + return ((Version) value).toFullString(); } else { return value; } @@ -1030,6 +1033,48 @@ public class YAMLSection { return get(handle).isUUID(); } + /** + * Get a Version by Handle + * + * @param handle Handle + * @return Version + */ + public Version getVersion(String handle) { + return get(handle).asVersion(); + } + + /** + * Get a Version by Handle + * + * @param handle Handle + * @param def Default + * @return Version + */ + public Version getVersion(String handle, Version def) { + return get(handle, def).asVersion(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @return Version List + */ + public List getVersionList(String handle) { + return get(handle).asVersionList(); + } + + /** + * Get a Version List by Handle + * + * @param handle Handle + * @param def Default + * @return Version List + */ + public List getVersionList(String handle, List def) { + return get(handle, def).asVersionList(); + } + @Override public boolean equals(Object object) { if (object instanceof YAMLSection) { diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLValue.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLValue.java index dfc8f519..c3a9d78b 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLValue.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Config/YAMLValue.java @@ -1,6 +1,7 @@ package net.ME1312.SubServers.Sync.Library.Config; import net.ME1312.SubServers.Sync.Library.Util; +import net.ME1312.SubServers.Sync.Library.Version.Version; import net.md_5.bungee.api.ChatColor; import org.yaml.snakeyaml.Yaml; @@ -271,7 +272,7 @@ public class YAMLValue { * @return UUID */ public UUID asUUID() { - if (obj != null) return UUID.fromString((String) obj); + if (obj != null) return UUID.fromString(asRawString()); else return null; } @@ -290,6 +291,30 @@ public class YAMLValue { } else return null; } + /** + * Get Object as Version + * + * @return Version + */ + public Version asVersion() { + if (obj != null) return Version.fromString(asRawString()); + else return null; + } + + /** + * Get Object as Version List + * + * @return Version List + */ + public List asVersionList() { + if (obj != null) { + List values = new ArrayList(); + for (String value : (List) obj) { + values.add(Version.fromString(value)); + } + return values; + } else return null; + } /** * Check if object is Null @@ -351,7 +376,7 @@ public class YAMLValue { * @return UUID Status */ public boolean isUUID() { - return (obj instanceof String && !Util.isException(() -> UUID.fromString((String) obj))); + return (obj instanceof String && !Util.isException(() -> UUID.fromString(asRawString()))); } @Override diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInRunEvent.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInRunEvent.java index 5ceaad62..4a64085e 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInRunEvent.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInRunEvent.java @@ -49,7 +49,7 @@ public class PacketInRunEvent implements PacketIn { @Override public void run(YAMLSection data) { ProxyServer.getInstance().getPluginManager().callEvent(new SubCreateEvent((data.contains("player"))?data.getUUID("player"):null, data.getRawString("host"), data.getRawString("name"), - data.getRawString("template"), new Version(data.getRawString("version")), data.getInt("port"))); + data.getRawString("template"), data.getVersion("version"), data.getInt("port"))); callback("SubCreateEvent", this); } }); 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 5acb593b..15550d20 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubDataClient.java @@ -442,7 +442,7 @@ public final class SubDataClient { List list = new ArrayList(); for (PacketIn packet : pIn.get(data.getRawString("n")).get(data.getRawString("h"))) { - if (packet.isCompatible(new Version(data.getRawString("v")))) { + if (packet.isCompatible(data.getVersion("v"))) { list.add(packet); } else { new IllegalPacketException("Packet Version Mismatch in " + data.getRawString("h") + ": " + data.getRawString("v") + " -> " + packet.getVersion().toString()).printStackTrace(); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java index 52d646a8..7fc0f448 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java @@ -67,7 +67,7 @@ public final class SubPlugin extends BungeeCord implements Listener { if (!(new UniversalFile(dir, "sync.yml").exists())) { Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Sync/Library/Files/config.yml", new UniversalFile(dir, "sync.yml").getPath()); System.out.println("SubServers > Created ~/SubServers/sync.yml"); - } else if ((new Version((new YAMLConfig(new UniversalFile(dir, "sync.yml"))).get().getSection("Settings").getRawString("Version", "0")).compareTo(new Version("2.11.2a+"))) != 0) { + } else if (((new YAMLConfig(new UniversalFile(dir, "sync.yml"))).get().getSection("Settings").getVersion("Version", new Version(0))).compareTo(new Version("2.11.2a+")) != 0) { Files.move(new UniversalFile(dir, "sync.yml").toPath(), new UniversalFile(dir, "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Sync/Library/Files/config.yml", new UniversalFile(dir, "sync.yml").getPath());