From bfcb076cfdd05044e1712cccf07a3fff5a2ce989 Mon Sep 17 00:00:00 2001 From: ME1312 Date: Fri, 18 Oct 2019 18:24:58 -0400 Subject: [PATCH] Update SubData --- SubServers.Bungee/pom.xml | 2 +- .../Network/Packet/PacketCheckPermission.java | 36 +++++------ ...ava => PacketCheckPermissionResponse.java} | 33 +++++------ .../Bungee/Network/SubProtocol.java | 4 +- .../ME1312/SubServers/Bungee/SubCommand.java | 6 +- SubServers.Client/Bukkit/pom.xml | 2 +- .../Client/Bukkit/Network/API/Host.java | 13 ++-- .../Client/Bukkit/Network/API/Proxy.java | 11 ++-- .../Client/Bukkit/Network/API/Server.java | 11 ++-- .../Network/Packet/PacketAddServer.java | 6 +- .../Network/Packet/PacketCheckPermission.java | 32 +++------- .../Packet/PacketCheckPermissionResponse.java | 59 +++++++++++++++++++ .../Network/Packet/PacketCommandServer.java | 6 +- .../Network/Packet/PacketCreateServer.java | 6 +- .../Network/Packet/PacketDeleteServer.java | 6 +- .../Packet/PacketDownloadGroupInfo.java | 6 +- .../Packet/PacketDownloadHostInfo.java | 6 +- .../Network/Packet/PacketDownloadLang.java | 4 +- .../Packet/PacketDownloadPlatformInfo.java | 6 +- .../Packet/PacketDownloadPlayerList.java | 6 +- .../Packet/PacketDownloadProxyInfo.java | 6 +- .../Packet/PacketDownloadServerInfo.java | 6 +- .../Network/Packet/PacketEditServer.java | 6 +- .../Packet/PacketExCheckPermission.java | 55 ----------------- .../Network/Packet/PacketInExReload.java | 4 +- .../Network/Packet/PacketInExReset.java | 4 +- .../Network/Packet/PacketInExRunEvent.java | 4 +- .../Network/Packet/PacketLinkServer.java | 8 +-- .../Network/Packet/PacketRemoveServer.java | 6 +- .../Network/Packet/PacketRestartServer.java | 6 +- .../Network/Packet/PacketStartServer.java | 6 +- .../Network/Packet/PacketStopServer.java | 6 +- .../Network/Packet/PacketUpdateServer.java | 6 +- .../Client/Bukkit/Network/SubProtocol.java | 9 +-- .../SubServers/Client/Bukkit/SubPlugin.java | 12 ++-- SubServers.Client/Sponge/pom.xml | 2 +- .../Client/Sponge/Network/API/Host.java | 13 ++-- .../Client/Sponge/Network/API/Proxy.java | 11 ++-- .../Client/Sponge/Network/API/Server.java | 11 ++-- .../Network/Packet/PacketAddServer.java | 6 +- .../Network/Packet/PacketCheckPermission.java | 32 +++------- .../Packet/PacketCheckPermissionResponse.java | 59 +++++++++++++++++++ .../Network/Packet/PacketCommandServer.java | 6 +- .../Network/Packet/PacketCreateServer.java | 6 +- .../Network/Packet/PacketDeleteServer.java | 6 +- .../Packet/PacketDownloadGroupInfo.java | 6 +- .../Packet/PacketDownloadHostInfo.java | 6 +- .../Network/Packet/PacketDownloadLang.java | 5 +- .../Packet/PacketDownloadPlatformInfo.java | 6 +- .../Packet/PacketDownloadPlayerList.java | 6 +- .../Packet/PacketDownloadProxyInfo.java | 6 +- .../Packet/PacketDownloadServerInfo.java | 6 +- .../Network/Packet/PacketEditServer.java | 6 +- .../Packet/PacketExCheckPermission.java | 56 ------------------ .../Network/Packet/PacketInExReload.java | 5 +- .../Network/Packet/PacketInExReset.java | 5 +- .../Network/Packet/PacketInExRunEvent.java | 4 +- .../Network/Packet/PacketLinkServer.java | 7 ++- .../Network/Packet/PacketRemoveServer.java | 6 +- .../Network/Packet/PacketRestartServer.java | 6 +- .../Network/Packet/PacketStartServer.java | 6 +- .../Network/Packet/PacketStopServer.java | 6 +- .../Network/Packet/PacketUpdateServer.java | 6 +- .../Client/Sponge/Network/SubProtocol.java | 12 +--- .../SubServers/Client/Sponge/SubPlugin.java | 12 ++-- SubServers.Host/pom.xml | 2 +- .../net/ME1312/SubServers/Host/ExHost.java | 12 ++-- .../Host/Executable/SubLoggerImpl.java | 8 ++- .../SubServers/Host/Network/API/Host.java | 13 ++-- .../SubServers/Host/Network/API/Proxy.java | 11 ++-- .../SubServers/Host/Network/API/Server.java | 11 ++-- .../Host/Network/Packet/PacketAddServer.java | 6 +- .../Network/Packet/PacketCheckPermission.java | 32 +++------- .../Packet/PacketCheckPermissionResponse.java | 57 ++++++++++++++++++ .../Network/Packet/PacketCommandServer.java | 6 +- .../Network/Packet/PacketCreateServer.java | 6 +- .../Network/Packet/PacketDeleteServer.java | 6 +- .../Packet/PacketDownloadGroupInfo.java | 6 +- .../Packet/PacketDownloadHostInfo.java | 6 +- .../Network/Packet/PacketDownloadLang.java | 5 +- .../Packet/PacketDownloadPlatformInfo.java | 6 +- .../Packet/PacketDownloadPlayerList.java | 6 +- .../Packet/PacketDownloadProxyInfo.java | 6 +- .../Packet/PacketDownloadServerInfo.java | 6 +- .../Host/Network/Packet/PacketEditServer.java | 6 +- .../Network/Packet/PacketExAddServer.java | 11 ++-- .../Network/Packet/PacketExConfigureHost.java | 6 +- .../Network/Packet/PacketExCreateServer.java | 6 +- .../Network/Packet/PacketExDeleteServer.java | 7 ++- .../Packet/PacketExDownloadTemplates.java | 6 +- .../Network/Packet/PacketExEditServer.java | 6 +- .../Network/Packet/PacketExRemoveServer.java | 8 ++- .../Host/Network/Packet/PacketInExReload.java | 5 +- .../Host/Network/Packet/PacketInExReset.java | 4 +- .../Network/Packet/PacketInExRunEvent.java | 4 +- .../Host/Network/Packet/PacketLinkExHost.java | 9 +-- .../Network/Packet/PacketOutExLogMessage.java | 6 +- .../Packet/PacketOutExRequestQueue.java | 3 +- .../Network/Packet/PacketRemoveServer.java | 6 +- .../Network/Packet/PacketRestartServer.java | 6 +- .../Network/Packet/PacketStartServer.java | 6 +- .../Host/Network/Packet/PacketStopServer.java | 6 +- .../Network/Packet/PacketUpdateServer.java | 6 +- .../SubServers/Host/Network/SubProtocol.java | 5 +- SubServers.Sync/pom.xml | 2 +- .../net/ME1312/SubServers/Sync/ExProxy.java | 12 ++-- .../Compatibility/GalaxiCommandWrapper.java | 15 ++++- .../SubServers/Sync/Network/API/Host.java | 13 ++-- .../SubServers/Sync/Network/API/Proxy.java | 11 ++-- .../SubServers/Sync/Network/API/Server.java | 11 ++-- .../Sync/Network/Packet/PacketAddServer.java | 6 +- .../Network/Packet/PacketCheckPermission.java | 32 +++------- .../Packet/PacketCheckPermissionResponse.java | 59 +++++++++++++++++++ .../Network/Packet/PacketCommandServer.java | 6 +- .../Network/Packet/PacketCreateServer.java | 6 +- .../Network/Packet/PacketDeleteServer.java | 6 +- .../Packet/PacketDownloadGroupInfo.java | 6 +- .../Packet/PacketDownloadHostInfo.java | 6 +- .../Network/Packet/PacketDownloadLang.java | 4 +- .../Packet/PacketDownloadPlatformInfo.java | 6 +- .../Packet/PacketDownloadPlayerList.java | 6 +- .../Packet/PacketDownloadProxyInfo.java | 6 +- .../Packet/PacketDownloadServerInfo.java | 6 +- .../Sync/Network/Packet/PacketEditServer.java | 6 +- .../Sync/Network/Packet/PacketInExReset.java | 4 +- .../Network/Packet/PacketInExRunEvent.java | 4 +- .../Packet/PacketInExUpdateWhitelist.java | 4 +- .../Sync/Network/Packet/PacketLinkProxy.java | 8 +-- .../Network/Packet/PacketRemoveServer.java | 6 +- .../Network/Packet/PacketRestartServer.java | 6 +- .../Network/Packet/PacketStartServer.java | 6 +- .../Sync/Network/Packet/PacketStopServer.java | 6 +- .../Network/Packet/PacketUpdateServer.java | 6 +- .../SubServers/Sync/Network/SubProtocol.java | 5 +- .../SubServers/Sync/Server/ServerImpl.java | 13 ++-- .../ME1312/SubServers/Sync/SubCommand.java | 34 +++++++++-- 136 files changed, 773 insertions(+), 622 deletions(-) rename SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/{PacketExCheckPermission.java => PacketCheckPermissionResponse.java} (56%) create mode 100644 SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermissionResponse.java delete mode 100644 SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketExCheckPermission.java create mode 100644 SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermissionResponse.java delete mode 100644 SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketExCheckPermission.java create mode 100644 SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermissionResponse.java create mode 100644 SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermissionResponse.java diff --git a/SubServers.Bungee/pom.xml b/SubServers.Bungee/pom.xml index 54fde5f2..5fd55c0f 100644 --- a/SubServers.Bungee/pom.xml +++ b/SubServers.Bungee/pom.xml @@ -43,7 +43,7 @@ net.ME1312.SubData Server - 19w39a + 19w42c compile true diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermission.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermission.java index 2559bde5..fd085c88 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermission.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermission.java @@ -1,21 +1,22 @@ package net.ME1312.SubServers.Bungee.Network.Packet; +import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Server.Protocol.PacketObjectIn; import net.ME1312.SubData.Server.Protocol.PacketObjectOut; import net.ME1312.SubData.Server.SubDataClient; -import net.ME1312.SubServers.Bungee.Host.Server; -import net.ME1312.SubServers.Bungee.SubAPI; -import net.md_5.bungee.api.ProxyServer; +import java.util.HashMap; import java.util.UUID; /** * Check Permission Packet */ public class PacketCheckPermission implements PacketObjectIn, PacketObjectOut { - private boolean result; + static HashMap[]> callbacks = new HashMap[]>(); + private UUID player; + private String permission; private UUID tracker; /** @@ -28,35 +29,28 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj * * @param player Player to check on * @param permission Permission to check - * @param tracker Receiver ID + * @param callback Callbacks */ - public PacketCheckPermission(UUID player, String permission, UUID tracker) { - this(Util.getDespiteException(() -> ProxyServer.getInstance().getPlayer(player).hasPermission(permission), false), tracker); - } - - PacketCheckPermission(boolean result, UUID tracker) { - this.result = result; - this.tracker = tracker; + @SafeVarargs + public PacketCheckPermission(UUID player, String permission, Callback... callback) { + this.player = player; + this.permission = permission; + this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); + callbacks.put(tracker, callback); } @Override public ObjectMap send(SubDataClient client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); - data.set(0x0001, result); + data.set(0x0001, player); + data.set(0x0002, permission); return data; } @Override public void receive(SubDataClient client, ObjectMap data) throws Throwable { - Server server = data.contains(0x0003)?SubAPI.getInstance().getServer(data.getRawString(0x0003)):null; - if (server != null && server.getSubData()[0] != null) { - ((SubDataClient) server.getSubData()[0]).sendPacket(new PacketExCheckPermission(data.getUUID(0x0001), data.getRawString(0x0002), result -> { - client.sendPacket(new PacketCheckPermission(result, (data.contains(0x0000))?data.getUUID(0x0000):null)); - })); - } else { - client.sendPacket(new PacketCheckPermission(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); - } + client.sendPacket(new PacketCheckPermissionResponse(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); } @Override diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCheckPermission.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermissionResponse.java similarity index 56% rename from SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCheckPermission.java rename to SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermissionResponse.java index 9484a78e..39fc7a2d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExCheckPermission.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketCheckPermissionResponse.java @@ -6,45 +6,42 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Server.Protocol.PacketObjectIn; import net.ME1312.SubData.Server.Protocol.PacketObjectOut; import net.ME1312.SubData.Server.SubDataClient; +import net.md_5.bungee.api.ProxyServer; -import java.util.HashMap; import java.util.UUID; +import static net.ME1312.SubServers.Bungee.Network.Packet.PacketCheckPermission.callbacks; + + /** - * Packet Check Permission + * Check Permission Response Packet */ -public class PacketExCheckPermission implements PacketObjectIn, PacketObjectOut { - private static HashMap[]> callbacks = new HashMap[]>(); - private UUID player; - private String permission; +public class PacketCheckPermissionResponse implements PacketObjectIn, PacketObjectOut { + private boolean result; private UUID tracker; /** - * New PacketCheckPermission (In) + * New PacketCheckPermissionResponse (In) */ - public PacketExCheckPermission() {} + public PacketCheckPermissionResponse() {} /** - * New PacketCheckPermission (Out) + * New PacketCheckPermissionResponse (Out) * * @param player Player to check on * @param permission Permission to check - * @param callback Callbacks + * @param tracker Receiver ID */ - @SafeVarargs - public PacketExCheckPermission(UUID player, String permission, Callback... callback) { - this.player = player; - this.permission = permission; - this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); - callbacks.put(tracker, callback); + public PacketCheckPermissionResponse(UUID player, String permission, UUID tracker) { + this.result = Util.getDespiteException(() -> ProxyServer.getInstance().getPlayer(player).hasPermission(permission), false); + this.tracker = tracker; } @Override public ObjectMap send(SubDataClient client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); - data.set(0x0001, player); - data.set(0x0002, permission); + data.set(0x0001, result); return data; } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java index ae22d31b..9ceb88cc 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java @@ -51,6 +51,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, PacketDownloadServerInfo.class); instance.registerPacket(0x0016, PacketDownloadPlayerList.class); instance.registerPacket(0x0017, PacketCheckPermission.class); + instance.registerPacket(0x0018, PacketCheckPermissionResponse.class); instance.registerPacket(0x0010, new PacketDownloadLang(plugin)); instance.registerPacket(0x0011, new PacketDownloadPlatformInfo(plugin)); @@ -60,6 +61,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, new PacketDownloadServerInfo(plugin)); instance.registerPacket(0x0016, new PacketDownloadPlayerList(plugin)); instance.registerPacket(0x0017, new PacketCheckPermission()); + instance.registerPacket(0x0018, new PacketCheckPermissionResponse()); // 30-4F: Control Packets @@ -113,13 +115,11 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0071, PacketOutExReset.class); instance.registerPacket(0x0072, PacketOutExReload.class); instance.registerPacket(0x0073, PacketOutExUpdateWhitelist.class); - instance.registerPacket(0x0074, PacketExCheckPermission.class); //instance.registerPacket(0x0070, new PacketOutRunEvent()); //instance.registerPacket(0x0071, new PacketOutReset()); //instance.registerPacket(0x0072, new PacketOutReload()); //instance.registerPacket(0x0073, new PacketOutExUpdateWhitelist()); - instance.registerPacket(0x0074, new PacketExCheckPermission()); } return instance; diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubCommand.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubCommand.java index ea32b848..313db16d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubCommand.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubCommand.java @@ -11,7 +11,7 @@ import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Server.ClientHandler; import net.ME1312.SubServers.Bungee.Library.Compatibility.GalaxiInfo; import net.ME1312.SubServers.Bungee.Library.Compatibility.Logger; -import net.ME1312.SubServers.Bungee.Network.Packet.PacketExCheckPermission; +import net.ME1312.SubServers.Bungee.Network.Packet.PacketCheckPermission; import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; @@ -719,7 +719,7 @@ public final class SubCommand extends CommandX { HashMap> map = (players.keySet().contains(((ProxiedPlayer) sender).getUniqueId()))?players.get(((ProxiedPlayer) sender).getUniqueId()):new HashMap>(); map.put(((ProxiedPlayer) sender).getServer().getInfo(), new NamedContainer<>(null, false)); players.put(((ProxiedPlayer) sender).getUniqueId(), map); - ((SubDataClient) ((Server) ((ProxiedPlayer) sender).getServer().getInfo()).getSubData()[0]).sendPacket(new PacketExCheckPermission(((ProxiedPlayer) sender).getUniqueId(), "subservers.command", result -> { + ((SubDataClient) ((Server) ((ProxiedPlayer) sender).getServer().getInfo()).getSubData()[0]).sendPacket(new PacketCheckPermission(((ProxiedPlayer) sender).getUniqueId(), "subservers.command", result -> { map.put(((ProxiedPlayer) sender).getServer().getInfo(), new NamedContainer<>(Calendar.getInstance().getTime().getTime(), result)); })); } @@ -727,7 +727,7 @@ public final class SubCommand extends CommandX { return new NamedContainer<>(null, Collections.emptyList()); } else if (args.length <= 1) { List cmds = new ArrayList<>(); - cmds.addAll(Arrays.asList("help", "list", "info", "status", "version", "start", "stop", "restart", "kill", "terminate", "cmd", "command", "create", "update", "upgrade")); + cmds.addAll(Arrays.asList("help", "list", "info", "status", "version", "start", "restart", "stop", "kill", "terminate", "cmd", "command", "create", "update", "upgrade")); if (!(sender instanceof ProxiedPlayer)) cmds.addAll(Arrays.asList("reload", "sudo", "screen", "delete", "restore")); if (last.length() == 0) { return new NamedContainer<>(null, cmds); diff --git a/SubServers.Client/Bukkit/pom.xml b/SubServers.Client/Bukkit/pom.xml index 9d27cf0a..4b251ed3 100644 --- a/SubServers.Client/Bukkit/pom.xml +++ b/SubServers.Client/Bukkit/pom.xml @@ -55,7 +55,7 @@ net.ME1312.SubData Client - 19w39a + 19w42c compile true diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Host.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Host.java index e7002f8c..c68b1ac9 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Host.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Host.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Network.Packet.*; import net.ME1312.SubServers.Client.Bukkit.SubAPI; @@ -58,16 +61,16 @@ public class Host { * @return SubData Client Channel ID Array (may be empty if unsupported) */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { if (raw.contains("subdata")) { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } else { - return new UUID[0]; + return new SubDataSender[0]; } } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Proxy.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Proxy.java index d844f10b..6c7c44ef 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Proxy.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Proxy.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Network.Packet.PacketDownloadProxyInfo; import net.ME1312.SubServers.Client.Bukkit.SubAPI; @@ -47,13 +50,13 @@ public class Proxy { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Server.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Server.java index 89354200..2c8bef08 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Server.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/API/Server.java @@ -2,7 +2,10 @@ package net.ME1312.SubServers.Client.Bukkit.Network.API; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Network.Packet.PacketDownloadServerInfo; import net.ME1312.SubServers.Client.Bukkit.SubAPI; @@ -46,13 +49,13 @@ public class Server { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketAddServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketAddServer.java index 6b74ede0..dab9ffc4 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketAddServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketAddServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Graphic.UIRenderer; import java.net.InetAddress; @@ -102,7 +102,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -113,7 +113,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermission.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermission.java index e112fc2d..068c8535 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermission.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermission.java @@ -3,19 +3,19 @@ package net.ME1312.SubServers.Client.Bukkit.Network.Packet; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; /** - * Packet Check Permission + * Check Permission Packet */ -public class PacketCheckPermission implements PacketObjectIn, PacketObjectOut { - private static HashMap[]> callbacks = new HashMap[]>(); - private String name; +public class PacketCheckPermission implements Forwardable, PacketObjectIn, PacketObjectOut { + static HashMap[]> callbacks = new HashMap[]>(); private UUID player; private String permission; private UUID tracker; @@ -34,20 +34,6 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj */ @SafeVarargs public PacketCheckPermission(UUID player, String permission, Callback... callback) { - this(null, player, permission, callback); - } - - /** - * New PacketCheckPermission (Out) - * - * @param server Server to check on - * @param player Player to check on - * @param permission Permission to check - * @param callback Callbacks - */ - @SafeVarargs - public PacketCheckPermission(String server, UUID player, String permission, Callback... callback) { - this.name = server; this.player = player; this.permission = permission; this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); @@ -55,19 +41,17 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj } @Override - public ObjectMap send(SubDataClient client) throws Throwable { + public ObjectMap send(SubDataSender client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, player); data.set(0x0002, permission); - if (name != null) data.set(0x0003, name); return data; } @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); - callbacks.remove(data.getUUID(0x0000)); + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + client.sendPacket(new PacketCheckPermissionResponse(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); } @Override diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermissionResponse.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermissionResponse.java new file mode 100644 index 00000000..28c443bb --- /dev/null +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCheckPermissionResponse.java @@ -0,0 +1,59 @@ +package net.ME1312.SubServers.Client.Bukkit.Network.Packet; + +import net.ME1312.Galaxi.Library.Callback.Callback; +import net.ME1312.Galaxi.Library.Map.ObjectMap; +import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; +import net.ME1312.SubData.Client.Protocol.PacketObjectIn; +import net.ME1312.SubData.Client.Protocol.PacketObjectOut; +import net.ME1312.SubData.Client.SubDataSender; +import org.bukkit.Bukkit; + +import java.util.UUID; + +import static net.ME1312.SubServers.Client.Bukkit.Network.Packet.PacketCheckPermission.callbacks; + + +/** + * Check Permission Response Packet + */ +public class PacketCheckPermissionResponse implements Forwardable, PacketObjectIn, PacketObjectOut { + private boolean result; + private UUID tracker; + + /** + * New PacketCheckPermissionResponse (In) + */ + public PacketCheckPermissionResponse() {} + + /** + * New PacketCheckPermissionResponse (Out) + * + * @param player Player to check on + * @param permission Permission to check + * @param tracker Receiver ID + */ + public PacketCheckPermissionResponse(UUID player, String permission, UUID tracker) { + this.result = Util.getDespiteException(() -> Bukkit.getServer().getPlayer(player).hasPermission(permission), false); + this.tracker = tracker; + } + + @Override + public ObjectMap send(SubDataSender client) throws Throwable { + ObjectMap data = new ObjectMap(); + data.set(0x0000, tracker); + data.set(0x0001, result); + return data; + } + + @Override + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); + callbacks.remove(data.getUUID(0x0000)); + } + + @Override + public int version() { + return 0x0001; + } +} diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCommandServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCommandServer.java index b9202856..75050e19 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCommandServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketCommandServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } 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 b34ecea6..f1d9f904 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 @@ -2,7 +2,7 @@ package net.ME1312.SubServers.Client.Bukkit.Network.Packet; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Graphic.UIRenderer; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; @@ -109,7 +109,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -123,7 +123,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDeleteServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDeleteServer.java index 6e2c8aa6..0006190d 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDeleteServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDeleteServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -45,7 +45,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -56,7 +56,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadGroupInfo.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadGroupInfo.java index f4c5604a..f1e0e5b6 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadGroupInfo.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadGroupInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadHostInfo.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadHostInfo.java index 848729ab..1eff6459 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadHostInfo.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadHostInfo.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -40,7 +40,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -49,7 +49,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadLang.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadLang.java index 8e405255..f6dfa9c9 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadLang.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadLang.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.Protocol.PacketOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.SubPlugin; import org.bukkit.Bukkit; @@ -34,7 +34,7 @@ public class PacketDownloadLang implements PacketObjectIn, PacketOut { public PacketDownloadLang() {} @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { try { Util.reflect(SubPlugin.class.getDeclaredField("lang"), plugin, new NamedContainer<>(Calendar.getInstance().getTime().getTime(), data.getObject(0x0001))); Bukkit.getLogger().info("SubData > Lang Settings Downloaded"); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlatformInfo.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlatformInfo.java index a12b6755..912a8a68 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlatformInfo.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlatformInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -30,7 +30,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); return data; @@ -38,7 +38,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlayerList.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlayerList.java index 35a714f3..38d5671e 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlayerList.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadPlayerList.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -32,7 +32,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); return json; @@ -40,7 +40,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadProxyInfo.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadProxyInfo.java index 08f21956..f920044b 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadProxyInfo.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadProxyInfo.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -40,7 +40,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (proxy != null) json.set(0x0001, proxy); @@ -49,7 +49,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { boolean mode = callbacks.get(data.getUUID(0x0000)).name(); for (Callback> callback : callbacks.get(data.getUUID(0x0000)).get()) { if (mode) { diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadServerInfo.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadServerInfo.java index 466e08f1..ff19ef2a 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadServerInfo.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketDownloadServerInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (server != null) json.set(0x0001, server); @@ -48,7 +48,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketEditServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketEditServer.java index 2ffddafa..c4b88804 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketEditServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketEditServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -47,7 +47,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -58,7 +58,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketExCheckPermission.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketExCheckPermission.java deleted file mode 100644 index d0488656..00000000 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketExCheckPermission.java +++ /dev/null @@ -1,55 +0,0 @@ -package net.ME1312.SubServers.Client.Bukkit.Network.Packet; - -import net.ME1312.Galaxi.Library.Map.ObjectMap; -import net.ME1312.Galaxi.Library.Util; -import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; -import org.bukkit.Bukkit; - -import java.util.UUID; - -/** - * External Check Permission Packet - */ -public class PacketExCheckPermission implements PacketObjectIn, PacketObjectOut { - private UUID player; - private String permission; - private UUID tracker; - - /** - * New PacketExCheckPermission (In) - */ - public PacketExCheckPermission() {} - - /** - * New PacketExCheckPermission (Out) - * - * @param player Player to check on - * @param permission Permission to check - * @param tracker Receiver ID - */ - public PacketExCheckPermission(UUID player, String permission, UUID tracker) { - this.player = player; - this.permission = permission; - this.tracker = tracker; - } - - @Override - public ObjectMap send(SubDataClient client) throws Throwable { - ObjectMap data = new ObjectMap(); - data.set(0x0000, tracker); - data.set(0x0001, Util.getDespiteException(() -> Bukkit.getServer().getPlayer(player).hasPermission(permission), false)); - return data; - } - - @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - client.sendPacket(new PacketExCheckPermission(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); - } - - @Override - public int version() { - return 0x0001; - } -} diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReload.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReload.java index f2ae7bba..1fb069c4 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReload.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReload.java @@ -3,7 +3,7 @@ package net.ME1312.SubServers.Client.Bukkit.Network.Packet; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.SubPlugin; import org.bukkit.Bukkit; @@ -23,7 +23,7 @@ public class PacketInExReload implements PacketObjectIn { } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (data != null && data.contains(0x0000)) Bukkit.getLogger().warning("SubData > Received request for a plugin reload: " + data.getString(0x0000)); else Bukkit.getLogger().warning("SubData > Received request for a plugin reload"); Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> { diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReset.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReset.java index 204b46a7..e5e04bd0 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReset.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExReset.java @@ -3,7 +3,7 @@ package net.ME1312.SubServers.Client.Bukkit.Network.Packet; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import org.bukkit.Bukkit; /** @@ -12,7 +12,7 @@ import org.bukkit.Bukkit; public class PacketInExReset implements PacketObjectIn { @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (data != null && data.contains(0x0000)) Bukkit.getLogger().warning("SubData > Received shutdown signal: " + data.getString(0x0000)); else Bukkit.getLogger().warning("SubData > Received shutdown signal"); Bukkit.shutdown(); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExRunEvent.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExRunEvent.java index 80fb748e..61a9c3f2 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExRunEvent.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketInExRunEvent.java @@ -1,7 +1,7 @@ package net.ME1312.SubServers.Client.Bukkit.Network.Packet; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Event.*; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; @@ -147,7 +147,7 @@ public class PacketInExRunEvent implements PacketObjectIn { @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (callbacks.keySet().contains(data.getString(0x0000))) { List>> callbacks = PacketInExRunEvent.callbacks.get(data.getString(0x0000)); PacketInExRunEvent.callbacks.remove(data.getString(0x0000)); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.java index 31b361b6..694bff3f 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.Initial.InitialPacket; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Event.SubNetworkConnectEvent; import net.ME1312.SubServers.Client.Bukkit.SubAPI; import net.ME1312.SubServers.Client.Bukkit.SubPlugin; @@ -40,7 +40,7 @@ public class PacketLinkServer implements InitialPacket, PacketObjectIn, } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); if (plugin.api.getName() != null) json.set(0x0000, plugin.api.getName()); json.set(0x0001, Bukkit.getServer().getPort()); @@ -49,12 +49,12 @@ public class PacketLinkServer implements InitialPacket, PacketObjectIn, } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (data.getInt(0x0001) == 0) { try { if (data.contains(0x0000)) { Util.reflect(SubAPI.class.getDeclaredField("name"), plugin.api, data.getRawString(0x0000)); - setReady(client, true); + setReady(client.getConnection(), true); } } catch (Throwable e) { e.printStackTrace(); diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRemoveServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRemoveServer.java index 60daaa1c..c49ae722 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRemoveServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRemoveServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -43,7 +43,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -53,7 +53,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRestartServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRestartServer.java index f2c51daf..dba42f83 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRestartServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketRestartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStartServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStartServer.java index b866ebec..b7a75806 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStartServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStopServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStopServer.java index abebb3a7..74f4e7d1 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStopServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketStopServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -45,7 +45,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, id); data.set(0x0001, server); @@ -55,7 +55,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketUpdateServer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketUpdateServer.java index 2881ab98..108ac404 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketUpdateServer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketUpdateServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Bukkit.Graphic.UIRenderer; import java.util.HashMap; @@ -62,7 +62,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -73,7 +73,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubProtocol.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubProtocol.java index 9b3cce3e..11373c7a 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubProtocol.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Network/SubProtocol.java @@ -4,7 +4,6 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; -import net.ME1312.SubData.Client.Library.DisconnectReason; import net.ME1312.SubData.Client.SubDataClient; import net.ME1312.SubData.Client.SubDataProtocol; import net.ME1312.SubServers.Client.Bukkit.Event.SubNetworkConnectEvent; @@ -15,7 +14,6 @@ import net.ME1312.SubServers.Client.Bukkit.SubPlugin; import org.bukkit.Bukkit; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.net.InetAddress; import java.util.HashMap; import java.util.logging.Handler; @@ -50,6 +48,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, PacketDownloadServerInfo.class); instance.registerPacket(0x0016, PacketDownloadPlayerList.class); instance.registerPacket(0x0017, PacketCheckPermission.class); + instance.registerPacket(0x0018, PacketCheckPermissionResponse.class); instance.registerPacket(0x0010, new PacketDownloadLang(plugin)); instance.registerPacket(0x0011, new PacketDownloadPlatformInfo()); @@ -59,6 +58,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, new PacketDownloadServerInfo()); instance.registerPacket(0x0016, new PacketDownloadPlayerList()); instance.registerPacket(0x0017, new PacketCheckPermission()); + instance.registerPacket(0x0018, new PacketCheckPermissionResponse()); // 30-4F: Control Packets @@ -89,12 +89,10 @@ public class SubProtocol extends SubDataProtocol { //instance.registerPacket(0x0070, PacketInExRunEvent.class); //instance.registerPacket(0x0071, PacketInExReset.class); //instance.registerPacket(0x0072, PacketInExReload.class); - instance.registerPacket(0x0074, PacketExCheckPermission.class); instance.registerPacket(0x0070, new PacketInExRunEvent(plugin)); instance.registerPacket(0x0071, new PacketInExReset()); instance.registerPacket(0x0072, new PacketInExReload(plugin)); - instance.registerPacket(0x0074, new PacketExCheckPermission()); } return instance; @@ -164,12 +162,11 @@ public class SubProtocol extends SubDataProtocol { subdata.on.closed(client -> { SubNetworkDisconnectEvent event = new SubNetworkDisconnectEvent(client.get(), client.name()); if (plugin.isEnabled()) Bukkit.getPluginManager().callEvent(event); - map.put(0, null); if (plugin.isEnabled()) { Bukkit.getLogger().info("SubData > Attempting reconnect in " + plugin.config.get().getMap("Settings").getMap("SubData").getInt("Reconnect", 30) + " seconds"); Util.isException(() -> Util.reflect(SubPlugin.class.getDeclaredMethod("connect", NamedContainer.class), plugin, client)); - } + } else map.put(0, null); }); return subdata; 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 845ab8fb..5abbd898 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 @@ -182,10 +182,14 @@ public final class SubPlugin extends JavaPlugin { @Override public void run() { try { - if (reset == resetDate && subdata.getOrDefault(0, null) == null) - subdata.put(0, subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? - null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), - Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1]))); + if (reset == resetDate && subdata.getOrDefault(0, null) == null) { + SubDataClient open = subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? + null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), + Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1])); + + if (subdata.getOrDefault(0, null) != null) subdata.get(0).reconnect(open); + subdata.put(0, open); + } } catch (IOException e) { Bukkit.getLogger().info("SubData > Connection was unsuccessful, retrying in " + reconnect + " seconds"); diff --git a/SubServers.Client/Sponge/pom.xml b/SubServers.Client/Sponge/pom.xml index 15e50367..dd9ece82 100644 --- a/SubServers.Client/Sponge/pom.xml +++ b/SubServers.Client/Sponge/pom.xml @@ -37,7 +37,7 @@ net.ME1312.SubData Client - 19w39a + 19w42c compile true diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Host.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Host.java index 9485f55a..e19695d8 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Host.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Host.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketAddServer; import net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketDeleteServer; import net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketDownloadHostInfo; @@ -61,16 +64,16 @@ public class Host { * @return SubData Client Channel ID Array (may be empty if unsupported) */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { if (raw.contains("subdata")) { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } else { - return new UUID[0]; + return new SubDataSender[0]; } } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Proxy.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Proxy.java index fd1f991e..d4e0947d 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Proxy.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Proxy.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketDownloadProxyInfo; import net.ME1312.SubServers.Client.Sponge.SubAPI; @@ -47,13 +50,13 @@ public class Proxy { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Server.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Server.java index 5faac936..2aa965b5 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Server.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/API/Server.java @@ -2,7 +2,10 @@ package net.ME1312.SubServers.Client.Sponge.Network.API; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketDownloadServerInfo; import net.ME1312.SubServers.Client.Sponge.SubAPI; @@ -46,13 +49,13 @@ public class Server { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketAddServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketAddServer.java index 7219c2ee..142859ec 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketAddServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketAddServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.net.InetAddress; import java.util.HashMap; @@ -100,7 +100,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -111,7 +111,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermission.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermission.java index 73b71016..e95233ef 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermission.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermission.java @@ -3,19 +3,19 @@ package net.ME1312.SubServers.Client.Sponge.Network.Packet; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; /** - * Packet Check Permission + * Check Permission Packet */ -public class PacketCheckPermission implements PacketObjectIn, PacketObjectOut { - private static HashMap[]> callbacks = new HashMap[]>(); - private String name; +public class PacketCheckPermission implements Forwardable, PacketObjectIn, PacketObjectOut { + static HashMap[]> callbacks = new HashMap[]>(); private UUID player; private String permission; private UUID tracker; @@ -34,20 +34,6 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj */ @SafeVarargs public PacketCheckPermission(UUID player, String permission, Callback... callback) { - this(null, player, permission, callback); - } - - /** - * New PacketCheckPermission (Out) - * - * @param server Server to check on - * @param player Player to check on - * @param permission Permission to check - * @param callback Callbacks - */ - @SafeVarargs - public PacketCheckPermission(String server, UUID player, String permission, Callback... callback) { - this.name = server; this.player = player; this.permission = permission; this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); @@ -55,19 +41,17 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj } @Override - public ObjectMap send(SubDataClient client) throws Throwable { + public ObjectMap send(SubDataSender client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, player); data.set(0x0002, permission); - if (name != null) data.set(0x0003, name); return data; } @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); - callbacks.remove(data.getUUID(0x0000)); + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + client.sendPacket(new PacketCheckPermissionResponse(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); } @Override diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermissionResponse.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermissionResponse.java new file mode 100644 index 00000000..536067f2 --- /dev/null +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCheckPermissionResponse.java @@ -0,0 +1,59 @@ +package net.ME1312.SubServers.Client.Sponge.Network.Packet; + +import net.ME1312.Galaxi.Library.Callback.Callback; +import net.ME1312.Galaxi.Library.Map.ObjectMap; +import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; +import net.ME1312.SubData.Client.Protocol.PacketObjectIn; +import net.ME1312.SubData.Client.Protocol.PacketObjectOut; +import net.ME1312.SubData.Client.SubDataSender; +import org.spongepowered.api.Sponge; + +import java.util.UUID; + +import static net.ME1312.SubServers.Client.Sponge.Network.Packet.PacketCheckPermission.callbacks; + + +/** + * Check Permission Response Packet + */ +public class PacketCheckPermissionResponse implements Forwardable, PacketObjectIn, PacketObjectOut { + private boolean result; + private UUID tracker; + + /** + * New PacketCheckPermissionResponse (In) + */ + public PacketCheckPermissionResponse() {} + + /** + * New PacketCheckPermissionResponse (Out) + * + * @param player Player to check on + * @param permission Permission to check + * @param tracker Receiver ID + */ + public PacketCheckPermissionResponse(UUID player, String permission, UUID tracker) { + this.result = Util.getDespiteException(() -> Sponge.getServer().getPlayer(player).get().hasPermission(permission), false); + this.tracker = tracker; + } + + @Override + public ObjectMap send(SubDataSender client) throws Throwable { + ObjectMap data = new ObjectMap(); + data.set(0x0000, tracker); + data.set(0x0001, result); + return data; + } + + @Override + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); + callbacks.remove(data.getUUID(0x0000)); + } + + @Override + public int version() { + return 0x0001; + } +} diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCommandServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCommandServer.java index bb4c7e18..c5d123f7 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCommandServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketCommandServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } 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 8546e0cd..875a193f 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 @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.Graphic.UIRenderer; import java.util.HashMap; @@ -109,7 +109,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -123,7 +123,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDeleteServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDeleteServer.java index 0249d02c..f4aca29d 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDeleteServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDeleteServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -45,7 +45,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -56,7 +56,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadGroupInfo.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadGroupInfo.java index 342dd287..e915400d 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadGroupInfo.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadGroupInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadHostInfo.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadHostInfo.java index 0ec36c26..93e7f768 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadHostInfo.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadHostInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadLang.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadLang.java index 489880cc..ac4635f8 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadLang.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadLang.java @@ -7,6 +7,7 @@ import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.Protocol.PacketOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.SubPlugin; import java.util.Calendar; @@ -34,8 +35,8 @@ public class PacketDownloadLang implements PacketObjectIn, PacketOut { public PacketDownloadLang() {} @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); try { Util.reflect(SubPlugin.class.getDeclaredField("lang"), plugin, new NamedContainer<>(Calendar.getInstance().getTime().getTime(), data.getObject(0x0001))); log.info("Lang Settings Downloaded"); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlatformInfo.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlatformInfo.java index e7706f6d..0cd17cb0 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlatformInfo.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlatformInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -30,7 +30,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); return data; @@ -38,7 +38,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlayerList.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlayerList.java index c63f87ac..6a735e1d 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlayerList.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadPlayerList.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -31,7 +31,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); return json; @@ -39,7 +39,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadProxyInfo.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadProxyInfo.java index a73dcaf5..4987eea3 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadProxyInfo.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadProxyInfo.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -40,7 +40,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (proxy != null) json.set(0x0001, proxy); @@ -49,7 +49,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { boolean mode = callbacks.get(data.getUUID(0x0000)).name(); for (Callback> callback : callbacks.get(data.getUUID(0x0000)).get()) { if (mode) { diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadServerInfo.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadServerInfo.java index f82e12f9..d1733034 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadServerInfo.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadServerInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (server != null) json.set(0x0001, server); @@ -48,7 +48,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketEditServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketEditServer.java index 9cadf118..b6303f94 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketEditServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketEditServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -47,7 +47,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -58,7 +58,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketExCheckPermission.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketExCheckPermission.java deleted file mode 100644 index 1891571e..00000000 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketExCheckPermission.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.ME1312.SubServers.Client.Sponge.Network.Packet; - -import net.ME1312.Galaxi.Library.Map.ObjectMap; -import net.ME1312.Galaxi.Library.Util; -import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; -import org.spongepowered.api.Sponge; - -import java.util.UUID; - -/** - * External Check Permission Packet - */ -public class PacketExCheckPermission implements PacketObjectIn, PacketObjectOut { - private UUID player; - private String permission; - private UUID tracker; - - /** - * New PacketExCheckPermission (In) - */ - public PacketExCheckPermission() {} - - /** - * New PacketExCheckPermission (Out) - * - * @param player Player to check on - * @param permission Permission to check - * @param tracker Receiver ID - */ - public PacketExCheckPermission(UUID player, String permission, UUID tracker) { - this.player = player; - this.permission = permission; - this.tracker = tracker; - } - - @SuppressWarnings("OptionalGetWithoutIsPresent") - @Override - public ObjectMap send(SubDataClient client) throws Throwable { - ObjectMap data = new ObjectMap(); - data.set(0x0000, tracker); - data.set(0x0001, Util.getDespiteException(() -> Sponge.getServer().getPlayer(player).get().hasPermission(permission), false)); - return data; - } - - @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - client.sendPacket(new PacketExCheckPermission(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); - } - - @Override - public int version() { - return 0x0001; - } -} diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReload.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReload.java index 9db454ed..3f65d057 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReload.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReload.java @@ -4,6 +4,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.SubPlugin; import org.spongepowered.api.Sponge; @@ -25,8 +26,8 @@ public class PacketInExReload implements PacketObjectIn { } @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); if (data != null && data.contains(0x0000)) log.warning("Received request for a plugin reload: " + data.getString(0x0000)); else log.warning("Received request for a plugin reload"); Sponge.getScheduler().createTaskBuilder().async().execute(() -> { diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReset.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReset.java index 59ffd497..c2a7632b 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReset.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExReset.java @@ -4,6 +4,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import org.spongepowered.api.Sponge; import java.util.logging.Logger; @@ -14,8 +15,8 @@ import java.util.logging.Logger; public class PacketInExReset implements PacketObjectIn { @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); if (data != null && data.contains(0x0000)) log.warning("Received shutdown signal: " + data.getString(0x0000)); else log.warning("Received shutdown signal"); Sponge.getServer().shutdown(); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExRunEvent.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExRunEvent.java index 1ad63b2f..dbcb85df 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExRunEvent.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketInExRunEvent.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.Event.*; import net.ME1312.SubServers.Client.Sponge.SubPlugin; import org.spongepowered.api.Sponge; @@ -121,7 +121,7 @@ public class PacketInExRunEvent implements PacketObjectIn { @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (callbacks.keySet().contains(data.getString(0x0000))) { List>> callbacks = PacketInExRunEvent.callbacks.get(data.getString(0x0000)); PacketInExRunEvent.callbacks.remove(data.getString(0x0000)); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketLinkServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketLinkServer.java index a7305905..1a5dd09a 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketLinkServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketLinkServer.java @@ -6,6 +6,7 @@ import net.ME1312.SubData.Client.Protocol.Initial.InitialPacket; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Client.Sponge.SubAPI; import net.ME1312.SubServers.Client.Sponge.SubPlugin; @@ -40,7 +41,7 @@ public class PacketLinkServer implements InitialPacket, PacketObjectIn, } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); if (plugin.api.getName() != null) json.set(0x0000, plugin.api.getName()); if (plugin.game.getServer().getBoundAddress().isPresent()) json.set(0x0001, plugin.game.getServer().getBoundAddress().get()); @@ -49,13 +50,13 @@ public class PacketLinkServer implements InitialPacket, PacketObjectIn, } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); if (data.getInt(0x0001) == 0) { try { if (data.contains(0x0000)) { Util.reflect(SubAPI.class.getDeclaredField("name"), plugin.api, data.getRawString(0x0000)); - setReady(client, true); + setReady(client.getConnection(), true); } } catch (Throwable e) { e.printStackTrace(); diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRemoveServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRemoveServer.java index 4e2d4ea0..bdbb8347 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRemoveServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRemoveServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -43,7 +43,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -53,7 +53,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRestartServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRestartServer.java index a3808c16..0f778395 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRestartServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketRestartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStartServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStartServer.java index e09fba9b..352a0939 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStartServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStopServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStopServer.java index e0823a0d..69354fce 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStopServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketStopServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, id); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketUpdateServer.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketUpdateServer.java index 8d4e4d4f..1fde7b5e 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketUpdateServer.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketUpdateServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -61,7 +61,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -72,7 +72,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubProtocol.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubProtocol.java index 92b2ea0c..1a64f8fd 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubProtocol.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/SubProtocol.java @@ -4,7 +4,6 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; -import net.ME1312.SubData.Client.Library.DisconnectReason; import net.ME1312.SubData.Client.SubDataClient; import net.ME1312.SubData.Client.SubDataProtocol; import net.ME1312.SubServers.Client.Sponge.Event.SubNetworkConnectEvent; @@ -13,15 +12,11 @@ import net.ME1312.SubServers.Client.Sponge.Network.Packet.*; import net.ME1312.SubServers.Client.Sponge.SubAPI; import net.ME1312.SubServers.Client.Sponge.SubPlugin; import org.slf4j.LoggerFactory; -import org.spongepowered.api.GameState; import org.spongepowered.api.Sponge; -import java.io.File; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.net.InetAddress; import java.util.HashMap; -import java.util.concurrent.TimeUnit; import java.util.logging.Handler; import java.util.logging.LogRecord; import java.util.logging.Logger; @@ -57,6 +52,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, PacketDownloadServerInfo.class); instance.registerPacket(0x0016, PacketDownloadPlayerList.class); instance.registerPacket(0x0017, PacketCheckPermission.class); + instance.registerPacket(0x0018, PacketCheckPermissionResponse.class); instance.registerPacket(0x0010, new PacketDownloadLang(plugin)); instance.registerPacket(0x0011, new PacketDownloadPlatformInfo()); @@ -66,6 +62,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, new PacketDownloadServerInfo()); instance.registerPacket(0x0016, new PacketDownloadPlayerList()); instance.registerPacket(0x0017, new PacketCheckPermission()); + instance.registerPacket(0x0018, new PacketCheckPermissionResponse()); // 30-4F: Control Packets @@ -96,12 +93,10 @@ public class SubProtocol extends SubDataProtocol { //instance.registerPacket(0x0070, PacketInExRunEvent.class); //instance.registerPacket(0x0071, PacketInExReset.class); //instance.registerPacket(0x0072, PacketInExReload.class); - instance.registerPacket(0x0074, PacketExCheckPermission.class); instance.registerPacket(0x0070, new PacketInExRunEvent(plugin)); instance.registerPacket(0x0071, new PacketInExReset()); instance.registerPacket(0x0072, new PacketInExReload(plugin)); - instance.registerPacket(0x0074, new PacketExCheckPermission()); } return instance; @@ -175,13 +170,12 @@ public class SubProtocol extends SubDataProtocol { subdata.on.closed(client -> { SubNetworkDisconnectEvent event = new SubNetworkDisconnectEvent(client.get(), client.name()); Sponge.getEventManager().post(event); - map.put(0, null); if (Util.getDespiteException(() -> Util.reflect(SubPlugin.class.getDeclaredField("running"), plugin), true)) { Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.get()), null); log.info("Attempting reconnect in " + plugin.config.get().getMap("Settings").getMap("SubData").getInt("Reconnect", 30) + " seconds"); Util.isException(() -> Util.reflect(SubPlugin.class.getDeclaredMethod("connect", NamedContainer.class), plugin, client)); - } + } else map.put(0, null); }); return subdata; 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 34c51b7f..39ef9bc9 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 @@ -201,10 +201,14 @@ public final class SubPlugin { @Override public void run() { try { - if (reset == resetDate && subdata.getOrDefault(0, null) == null) - subdata.put(0, subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? - null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), - Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1]))); + if (reset == resetDate && subdata.getOrDefault(0, null) == null) { + SubDataClient open = subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? + null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), + Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1])); + + if (subdata.getOrDefault(0, null) != null) subdata.get(0).reconnect(open); + subdata.put(0, open); + } } catch (IOException e) { log.info("Connection was unsuccessful, retrying in " + reconnect + " seconds"); diff --git a/SubServers.Host/pom.xml b/SubServers.Host/pom.xml index a398b4da..6b90aa61 100644 --- a/SubServers.Host/pom.xml +++ b/SubServers.Host/pom.xml @@ -27,7 +27,7 @@ net.ME1312.SubData Client - 19w39a + 19w42c compile true diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java index 082dc3ce..903e7418 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java @@ -299,10 +299,14 @@ public final class ExHost { @Override public void run() { try { - if (reset == resetDate && subdata.getOrDefault(0, null) == null) - subdata.put(0, subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? - null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), - Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1]))); + if (reset == resetDate && subdata.getOrDefault(0, null) == null) { + SubDataClient open = subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? + null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), + Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1])); + + if (subdata.getOrDefault(0, null) != null) subdata.get(0).reconnect(open); + subdata.put(0, open); + } timer.cancel(); } catch (IOException e) { log.info("Connection was unsuccessful, retrying in " + reconnect + " seconds"); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLoggerImpl.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLoggerImpl.java index db8c055b..ff3ba187 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLoggerImpl.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLoggerImpl.java @@ -76,7 +76,7 @@ public class SubLoggerImpl { Process process = this.process; ExHost host = SubAPI.getInstance().getInternals(); if (logn) Util.isException(() -> { - channel = (SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0].newChannel(); + channel = (SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0].openChannel(); channel.on.closed(new Callback>() { @Override public void run(NamedContainer client) { @@ -93,8 +93,10 @@ public class SubLoggerImpl { if (!started || SubLoggerImpl.this.process == null || process != SubLoggerImpl.this.process || !process.isAlive()) { timer.cancel(); } else try { - channel = (SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0].newChannel(); - channel.on.closed(run); + SubDataClient open = (SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0].openChannel(); + open.on.closed(run); + channel.reconnect(channel); + channel = open; timer.cancel(); } catch (NullPointerException | IOException e) {} } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Host.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Host.java index 62d0172a..a92fafee 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Host.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Host.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Network.Packet.PacketAddServer; import net.ME1312.SubServers.Host.Network.Packet.PacketDeleteServer; import net.ME1312.SubServers.Host.Network.Packet.PacketDownloadHostInfo; @@ -61,16 +64,16 @@ public class Host { * @return SubData Client Channel ID Array (may be empty if unsupported) */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { if (raw.contains("subdata")) { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } else { - return new UUID[0]; + return new SubDataSender[0]; } } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Proxy.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Proxy.java index 5dfdb29c..aec50d26 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Proxy.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Proxy.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Network.Packet.PacketDownloadProxyInfo; import net.ME1312.SubServers.Host.SubAPI; @@ -47,13 +50,13 @@ public class Proxy { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Server.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Server.java index 2989c663..7c657e9f 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Server.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/API/Server.java @@ -2,7 +2,10 @@ package net.ME1312.SubServers.Host.Network.API; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Network.Packet.PacketDownloadServerInfo; import net.ME1312.SubServers.Host.SubAPI; @@ -46,13 +49,13 @@ public class Server { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketAddServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketAddServer.java index 4d2b803b..8b67c765 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketAddServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketAddServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.net.InetAddress; import java.util.HashMap; @@ -100,7 +100,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -111,7 +111,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermission.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermission.java index 882b2969..5a5803d2 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermission.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermission.java @@ -3,19 +3,19 @@ package net.ME1312.SubServers.Host.Network.Packet; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; /** - * Packet Check Permission + * Check Permission Packet */ -public class PacketCheckPermission implements PacketObjectIn, PacketObjectOut { - private static HashMap[]> callbacks = new HashMap[]>(); - private String name; +public class PacketCheckPermission implements Forwardable, PacketObjectIn, PacketObjectOut { + static HashMap[]> callbacks = new HashMap[]>(); private UUID player; private String permission; private UUID tracker; @@ -34,20 +34,6 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj */ @SafeVarargs public PacketCheckPermission(UUID player, String permission, Callback... callback) { - this(null, player, permission, callback); - } - - /** - * New PacketCheckPermission (Out) - * - * @param server Server to check on - * @param player Player to check on - * @param permission Permission to check - * @param callback Callbacks - */ - @SafeVarargs - public PacketCheckPermission(String server, UUID player, String permission, Callback... callback) { - this.name = server; this.player = player; this.permission = permission; this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); @@ -55,19 +41,17 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj } @Override - public ObjectMap send(SubDataClient client) throws Throwable { + public ObjectMap send(SubDataSender client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, player); data.set(0x0002, permission); - if (name != null) data.set(0x0003, name); return data; } @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); - callbacks.remove(data.getUUID(0x0000)); + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + client.sendPacket(new PacketCheckPermissionResponse(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); } @Override diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermissionResponse.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermissionResponse.java new file mode 100644 index 00000000..338e584a --- /dev/null +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCheckPermissionResponse.java @@ -0,0 +1,57 @@ +package net.ME1312.SubServers.Host.Network.Packet; + +import net.ME1312.Galaxi.Library.Callback.Callback; +import net.ME1312.Galaxi.Library.Map.ObjectMap; +import net.ME1312.SubData.Client.Protocol.Forwardable; +import net.ME1312.SubData.Client.Protocol.PacketObjectIn; +import net.ME1312.SubData.Client.Protocol.PacketObjectOut; +import net.ME1312.SubData.Client.SubDataSender; + +import java.util.UUID; + +import static net.ME1312.SubServers.Host.Network.Packet.PacketCheckPermission.callbacks; + + +/** + * Check Permission Response Packet + */ +public class PacketCheckPermissionResponse implements Forwardable, PacketObjectIn, PacketObjectOut { + private boolean result; + private UUID tracker; + + /** + * New PacketCheckPermissionResponse (In) + */ + public PacketCheckPermissionResponse() {} + + /** + * New PacketCheckPermissionResponse (Out) + * + * @param player Player to check on + * @param permission Permission to check + * @param tracker Receiver ID + */ + public PacketCheckPermissionResponse(UUID player, String permission, UUID tracker) { + this.result = false; // TODO + this.tracker = tracker; + } + + @Override + public ObjectMap send(SubDataSender client) throws Throwable { + ObjectMap data = new ObjectMap(); + data.set(0x0000, tracker); + data.set(0x0001, result); + return data; + } + + @Override + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); + callbacks.remove(data.getUUID(0x0000)); + } + + @Override + public int version() { + return 0x0001; + } +} diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCommandServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCommandServer.java index f35bc0ff..068cc03c 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCommandServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketCommandServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } 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 a7c3dab6..75dc158e 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 @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -73,7 +73,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -87,7 +87,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDeleteServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDeleteServer.java index 275fea45..7d61f0e1 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDeleteServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDeleteServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -45,7 +45,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -56,7 +56,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadGroupInfo.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadGroupInfo.java index d8b3f0eb..b5b07704 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadGroupInfo.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadGroupInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadHostInfo.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadHostInfo.java index 02d856c4..f0850476 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadHostInfo.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadHostInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadLang.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadLang.java index be169f19..4787d85a 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadLang.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadLang.java @@ -6,6 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import java.util.Calendar; @@ -33,8 +34,8 @@ public class PacketDownloadLang implements PacketObjectIn, PacketOut { public PacketDownloadLang() {} @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); try { Util.reflect(ExHost.class.getDeclaredField("lang"), host, new NamedContainer<>(Calendar.getInstance().getTime().getTime(), data.getObject(0x0001))); log.info("Lang Settings Downloaded"); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlatformInfo.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlatformInfo.java index 3d6b12c7..57657bbf 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlatformInfo.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlatformInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -30,7 +30,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); return data; @@ -38,7 +38,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlayerList.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlayerList.java index e632c47e..3e329222 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlayerList.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadPlayerList.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -31,7 +31,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); return json; @@ -39,7 +39,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadProxyInfo.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadProxyInfo.java index de55f108..ca225486 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadProxyInfo.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadProxyInfo.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -40,7 +40,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (proxy != null) json.set(0x0001, proxy); @@ -49,7 +49,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { boolean mode = callbacks.get(data.getUUID(0x0000)).name(); for (Callback> callback : callbacks.get(data.getUUID(0x0000)).get()) { if (mode) { diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadServerInfo.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadServerInfo.java index 62c1dde3..eaa1faaf 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadServerInfo.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketDownloadServerInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (server != null) json.set(0x0001, server); @@ -48,7 +48,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketEditServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketEditServer.java index e16ad9b7..cc302f63 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketEditServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketEditServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -47,7 +47,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -58,7 +58,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExAddServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExAddServer.java index 1bf84d91..a79e5f2c 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExAddServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExAddServer.java @@ -6,6 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Executable.SubServerImpl; import net.ME1312.SubServers.Host.ExHost; @@ -55,7 +56,7 @@ public class PacketExAddServer implements PacketObjectIn, PacketObjectO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); if (tracker != null) data.set(0x0000, tracker); data.set(0x0001, response); @@ -64,8 +65,8 @@ public class PacketExAddServer implements PacketObjectIn, PacketObjectO } @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger logger = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger logger = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); UUID tracker = (data.contains(0x0000)?data.getUUID(0x0000):null); try { String name = data.getRawString(0x0001); @@ -93,10 +94,10 @@ public class PacketExAddServer implements PacketObjectIn, PacketObjectO if (UPnP.isUPnPAvailable() && UPnP.isMappedTCP(server.getPort())) UPnP.closePortTCP(server.getPort()); - init(client, server = new SubServerImpl(host, name, enabled, port, log, dir, exec, stopcmd), running, tracker, logger); + init(client.getConnection(), server = new SubServerImpl(host, name, enabled, port, log, dir, exec, stopcmd), running, tracker, logger); } } else { - init(client, new SubServerImpl(host, name, enabled, port, log, dir, exec, stopcmd), running, tracker, logger); + init(client.getConnection(), new SubServerImpl(host, name, enabled, port, log, dir, exec, stopcmd), running, tracker, logger); } } catch (Throwable e) { client.sendPacket(new PacketExAddServer(2, tracker)); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExConfigureHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExConfigureHost.java index 44e1d36e..a61a6e76 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExConfigureHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExConfigureHost.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.UniversalFile; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Executable.SubCreatorImpl; import net.ME1312.SubServers.Host.ExHost; @@ -27,14 +27,14 @@ public class PacketExConfigureHost implements PacketObjectIn, PacketOut } @Override - public void sending(SubDataClient client) { + public void sending(SubDataSender client) { host.log.info.println("Downloading Host Settings..."); first = true; } @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { host.host = new ObjectMap<>((Map) data.getObject(0x0000)); for (SubCreatorImpl.ServerTemplate template : host.templates.values()) { Util.deleteDirectory(template.getDirectory()); 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 dd5bbc05..3ac1c418 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 @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import java.util.UUID; @@ -64,7 +64,7 @@ public class PacketExCreateServer implements PacketObjectIn, PacketObje } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); if (tracker != null) data.set(0x0000, tracker); data.set(0x0001, response); @@ -75,7 +75,7 @@ public class PacketExCreateServer implements PacketObjectIn, PacketObje } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { UUID tracker = (data.contains(0x0000)?data.getUUID(0x0000):null); try { if (data.contains(0x0001)) { diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDeleteServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDeleteServer.java index ad951485..3774ccfc 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDeleteServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDeleteServer.java @@ -9,6 +9,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Executable.SubServerImpl; import net.ME1312.SubServers.Host.ExHost; import net.ME1312.SubServers.Host.SubAPI; @@ -50,7 +51,7 @@ public class PacketExDeleteServer implements PacketObjectIn, PacketObje } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); if (tracker != null) data.set(0x0000, tracker); data.set(0x0001, response); @@ -59,8 +60,8 @@ public class PacketExDeleteServer implements PacketObjectIn, PacketObje @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); UUID tracker = (data.contains(0x0000)?data.getUUID(0x0000):null); try { String name = data.getRawString(0x0001); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDownloadTemplates.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDownloadTemplates.java index 478f07c5..de693d96 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDownloadTemplates.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExDownloadTemplates.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.UniversalFile; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketOut; import net.ME1312.SubData.Client.Protocol.PacketStreamIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import net.ME1312.SubServers.Host.SubAPI; @@ -25,14 +25,14 @@ public class PacketExDownloadTemplates implements PacketOut, PacketStreamIn { } @Override - public void sending(SubDataClient client) throws Throwable { + public void sending(SubDataSender client) throws Throwable { UniversalFile dir = new UniversalFile(GalaxiEngine.getInstance().getRuntimeDirectory(), "Templates"); if (dir.exists()) Util.deleteDirectory(dir); host.log.info.println("Downloading Template Files..."); } @Override - public void receive(SubDataClient client, InputStream stream) { + public void receive(SubDataSender client, InputStream stream) { try { Util.unzip(stream, new UniversalFile(GalaxiEngine.getInstance().getRuntimeDirectory(), "Templates")); host.log.info.println("Template Files Downloaded"); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExEditServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExEditServer.java index 8d619e4d..cb38825e 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExEditServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExEditServer.java @@ -4,7 +4,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Executable.SubLoggerImpl; import net.ME1312.SubServers.Host.Executable.SubServerImpl; import net.ME1312.SubServers.Host.ExHost; @@ -69,7 +69,7 @@ public class PacketExEditServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, server.getName()); data.set(0x0001, type.getValue()); @@ -78,7 +78,7 @@ public class PacketExEditServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { try { SubServerImpl server = host.servers.get(data.getString(0x0000).toLowerCase()); switch (data.getInt(0x0001)) { diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExRemoveServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExRemoveServer.java index 93426c89..6b199b32 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExRemoveServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExRemoveServer.java @@ -6,6 +6,8 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import net.ME1312.SubServers.Host.SubAPI; @@ -43,7 +45,7 @@ public class PacketExRemoveServer implements PacketObjectIn, PacketObje } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); if (tracker != null) data.set(0x0000, tracker); data.set(0x0001, response); @@ -51,8 +53,8 @@ public class PacketExRemoveServer implements PacketObjectIn, PacketObje } @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); UUID tracker = (data.contains(0x0000)?data.getUUID(0x0000):null); try { String name = data.getRawString(0x0001); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReload.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReload.java index 4d5560b2..b5f9c035 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReload.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReload.java @@ -4,6 +4,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import java.util.logging.Logger; @@ -24,8 +25,8 @@ public class PacketInExReload implements PacketObjectIn { } @Override - public void receive(SubDataClient client, ObjectMap data) { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); if (data != null && data.contains(0x0000)) log.warning("Received request for a plugin reload: " + data.getString(0x0000)); else log.warning("Received request for a plugin reload"); new Thread(() -> { diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReset.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReset.java index 34050966..e5635ed4 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReset.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExReset.java @@ -2,7 +2,7 @@ package net.ME1312.SubServers.Host.Network.Packet; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; /** @@ -16,7 +16,7 @@ public class PacketInExReset implements PacketObjectIn { } @Override - public void receive(SubDataClient client, ObjectMap data) {/* + public void receive(SubDataSender client, ObjectMap data) {/* List subservers = new ArrayList(); subservers.addAll(host.servers.keySet()); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExRunEvent.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExRunEvent.java index d19993b4..173f7007 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExRunEvent.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketInExRunEvent.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.Event.*; import java.util.ArrayList; @@ -119,7 +119,7 @@ public class PacketInExRunEvent implements PacketObjectIn { @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (callbacks.keySet().contains(data.getString(0x0000))) { List>> callbacks = PacketInExRunEvent.callbacks.get(data.getString(0x0000)); PacketInExRunEvent.callbacks.remove(data.getString(0x0000)); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketLinkExHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketLinkExHost.java index b228d21d..762ed09a 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketLinkExHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketLinkExHost.java @@ -8,6 +8,7 @@ import net.ME1312.SubData.Client.Protocol.Initial.InitialPacket; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Host.ExHost; import java.util.logging.Logger; @@ -41,7 +42,7 @@ public class PacketLinkExHost implements InitialPacket, PacketObjectIn, } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, host.api.getName()); data.set(0x0001, channel); @@ -49,10 +50,10 @@ public class PacketLinkExHost implements InitialPacket, PacketObjectIn, } @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client), null); + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()), null); if (data.getInt(0x0001) == 0) { - setReady(client, true); + setReady(client.getConnection(), true); } else { log.severe("Could not link name with host" + ((data.contains(0x0002))?": "+data.getRawString(0x0002):'.')); DebugUtil.logException(new IllegalStateException(), log); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExLogMessage.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExLogMessage.java index d845da7f..fb7b6c96 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExLogMessage.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExLogMessage.java @@ -3,7 +3,7 @@ package net.ME1312.SubServers.Host.Network.Packet; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.UUID; @@ -34,8 +34,8 @@ public class PacketOutExLogMessage implements PacketObjectOut { } @Override - public ObjectMap send(SubDataClient client) throws Exception { - if (terminate) client.close(); + public ObjectMap send(SubDataSender client) throws Exception { + if (terminate) client.getConnection().close(); ObjectMap data = new ObjectMap(); data.set(0x0000, address); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExRequestQueue.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExRequestQueue.java index c5771237..af173384 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExRequestQueue.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketOutExRequestQueue.java @@ -10,8 +10,7 @@ public class PacketOutExRequestQueue implements PacketOut { /** * New PacketOutExRequestQueue */ - public PacketOutExRequestQueue() { - } + public PacketOutExRequestQueue() {} @Override diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRemoveServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRemoveServer.java index 5e285596..7209a6bb 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRemoveServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRemoveServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -43,7 +43,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -53,7 +53,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRestartServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRestartServer.java index 136c26be..0af1fdb5 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRestartServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketRestartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStartServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStartServer.java index c007d9a9..a3917561 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStartServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStopServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStopServer.java index 95afce43..3bcfe33d 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStopServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketStopServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, id); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketUpdateServer.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketUpdateServer.java index 01a3da0f..198eda22 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketUpdateServer.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketUpdateServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -61,7 +61,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -72,7 +72,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubProtocol.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubProtocol.java index c93889fb..4127b64d 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubProtocol.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/SubProtocol.java @@ -54,6 +54,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, PacketDownloadServerInfo.class); instance.registerPacket(0x0016, PacketDownloadPlayerList.class); instance.registerPacket(0x0017, PacketCheckPermission.class); + instance.registerPacket(0x0017, PacketCheckPermissionResponse.class); instance.registerPacket(0x0010, new PacketDownloadLang(host)); instance.registerPacket(0x0011, new PacketDownloadPlatformInfo()); @@ -63,6 +64,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, new PacketDownloadServerInfo()); instance.registerPacket(0x0016, new PacketDownloadPlayerList()); instance.registerPacket(0x0017, new PacketCheckPermission()); + instance.registerPacket(0x0018, new PacketCheckPermissionResponse()); // 30-4F: Control Packets @@ -161,13 +163,12 @@ public class SubProtocol extends SubDataProtocol { subdata.on.closed(client -> { SubNetworkDisconnectEvent event = new SubNetworkDisconnectEvent(client.get(), client.name()); host.engine.getPluginManager().executeEvent(event); - map.put(0, null); if (Util.getDespiteException(() -> Util.reflect(ExHost.class.getDeclaredField("running"), host), true)) { Logger log = Util.getDespiteException(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.get()), null); log.info("Attempting reconnect in " + host.config.get().getMap("Settings", new YAMLSection()).getMap("SubData", new YAMLSection()).getInt("Reconnect", 30) + " seconds"); Util.isException(() -> Util.reflect(ExHost.class.getDeclaredMethod("connect", Logger.class, NamedContainer.class), host, log, client)); - } + } else map.put(0, null); }); return subdata; diff --git a/SubServers.Sync/pom.xml b/SubServers.Sync/pom.xml index b4cbcc57..b8a9db4d 100644 --- a/SubServers.Sync/pom.xml +++ b/SubServers.Sync/pom.xml @@ -43,7 +43,7 @@ net.ME1312.SubData Client - 19w39a + 19w42c compile true diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java index 3ee7f667..532c273c 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java @@ -164,10 +164,14 @@ public final class ExProxy extends BungeeCord implements Listener { @Override public void run() { try { - if (reset == resetDate && subdata.getOrDefault(0, null) == null) - subdata.put(0, subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? - null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), - Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1]))); + if (reset == resetDate && subdata.getOrDefault(0, null) == null) { + SubDataClient open = subprotocol.open((config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0].equals("0.0.0.0"))? + null:InetAddress.getByName(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[0]), + Integer.parseInt(config.get().getMap("Settings").getMap("SubData").getRawString("Address", "127.0.0.1:4391").split(":")[1])); + + if (subdata.getOrDefault(0, null) != null) subdata.get(0).reconnect(open); + subdata.put(0, open); + } timer.cancel(); } catch (IOException e) { net.ME1312.SubServers.Sync.Library.Compatibility.Logger.get("SubData").info("Connection was unsuccessful, retrying in " + reconnect + " seconds"); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Compatibility/GalaxiCommandWrapper.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Compatibility/GalaxiCommandWrapper.java index 04bf2c5b..0bbdaccb 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Compatibility/GalaxiCommandWrapper.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Library/Compatibility/GalaxiCommandWrapper.java @@ -4,13 +4,14 @@ import net.ME1312.Galaxi.Galaxi; import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Plugin.Command.Command; import net.ME1312.Galaxi.Plugin.Command.CommandSender; +import net.ME1312.Galaxi.Plugin.Command.CompletionHandler; import net.ME1312.Galaxi.Plugin.PluginManager; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -class GalaxiCommandWrapper extends Command { +class GalaxiCommandWrapper extends Command implements CompletionHandler { private HashMap forwards = new HashMap(); private Command data; @@ -45,6 +46,18 @@ class GalaxiCommandWrapper extends Command { } } + @Override + public String[] complete(CommandSender sender, String label, String[] args) { + if (forwards.keySet().contains(label.toLowerCase())) { + Command command = forwards.get(label.toLowerCase()); + if (command.autocomplete() != null) { + return command.autocomplete().complete(sender, label, args); + } else return new String[0]; + } else { + throw new IllegalStateException("Command label not recognised in group: " + forwards.keySet()); + } + } + @Override public String description() { return (data == null)?super.description():data.description(); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Host.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Host.java index 67252bdd..9ea2fd42 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Host.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Host.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.Network.Packet.PacketAddServer; import net.ME1312.SubServers.Sync.Network.Packet.PacketDeleteServer; import net.ME1312.SubServers.Sync.Network.Packet.PacketDownloadHostInfo; @@ -61,16 +64,16 @@ public class Host { * @return SubData Client Channel ID Array (may be empty if unsupported) */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { if (raw.contains("subdata")) { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } else { - return new UUID[0]; + return new SubDataSender[0]; } } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Proxy.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Proxy.java index 93f8c537..736e4e5c 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Proxy.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Proxy.java @@ -4,7 +4,10 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Map.ObjectMapValue; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.Network.Packet.PacketDownloadProxyInfo; import net.ME1312.SubServers.Sync.SubAPI; @@ -47,13 +50,13 @@ public class Proxy { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Server.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Server.java index 194f0b4e..7cc30644 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Server.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/API/Server.java @@ -2,7 +2,10 @@ package net.ME1312.SubServers.Sync.Network.API; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.Network.Packet.PacketDownloadServerInfo; import net.ME1312.SubServers.Sync.SubAPI; @@ -46,13 +49,13 @@ public class Server { * @return SubData Client Channel ID Array */ @SuppressWarnings("unchecked") - public UUID[] getSubData() { + public DataSender[] getSubData() { ObjectMap subdata = new ObjectMap((Map) raw.getObject("subdata")); LinkedList keys = new LinkedList(subdata.getKeys()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.getUUID(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.isNull(channel))?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.getUUID(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketAddServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketAddServer.java index 0c801717..47b17c0b 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketAddServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketAddServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.net.InetAddress; import java.util.HashMap; @@ -100,7 +100,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -111,7 +111,7 @@ public class PacketAddServer implements PacketObjectIn, PacketObjectOut } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermission.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermission.java index d8f43e74..cd4fea14 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermission.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermission.java @@ -3,19 +3,19 @@ package net.ME1312.SubServers.Sync.Network.Packet; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; /** - * Packet Check Permission + * Check Permission Packet */ -public class PacketCheckPermission implements PacketObjectIn, PacketObjectOut { - private static HashMap[]> callbacks = new HashMap[]>(); - private String name; +public class PacketCheckPermission implements Forwardable, PacketObjectIn, PacketObjectOut { + static HashMap[]> callbacks = new HashMap[]>(); private UUID player; private String permission; private UUID tracker; @@ -34,20 +34,6 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj */ @SafeVarargs public PacketCheckPermission(UUID player, String permission, Callback... callback) { - this(null, player, permission, callback); - } - - /** - * New PacketCheckPermission (Out) - * - * @param server Server to check on - * @param player Player to check on - * @param permission Permission to check - * @param callback Callbacks - */ - @SafeVarargs - public PacketCheckPermission(String server, UUID player, String permission, Callback... callback) { - this.name = server; this.player = player; this.permission = permission; this.tracker = Util.getNew(callbacks.keySet(), UUID::randomUUID); @@ -55,19 +41,17 @@ public class PacketCheckPermission implements PacketObjectIn, PacketObj } @Override - public ObjectMap send(SubDataClient client) throws Throwable { + public ObjectMap send(SubDataSender client) throws Throwable { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, player); data.set(0x0002, permission); - if (name != null) data.set(0x0003, name); return data; } @Override - public void receive(SubDataClient client, ObjectMap data) throws Throwable { - for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); - callbacks.remove(data.getUUID(0x0000)); + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + client.sendPacket(new PacketCheckPermissionResponse(data.getUUID(0x0001), data.getRawString(0x0002), (data.contains(0x0000))?data.getUUID(0x0000):null)); } @Override diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermissionResponse.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermissionResponse.java new file mode 100644 index 00000000..f63572dc --- /dev/null +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCheckPermissionResponse.java @@ -0,0 +1,59 @@ +package net.ME1312.SubServers.Sync.Network.Packet; + +import net.ME1312.Galaxi.Library.Callback.Callback; +import net.ME1312.Galaxi.Library.Map.ObjectMap; +import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.Protocol.Forwardable; +import net.ME1312.SubData.Client.Protocol.PacketObjectIn; +import net.ME1312.SubData.Client.Protocol.PacketObjectOut; +import net.ME1312.SubData.Client.SubDataSender; +import net.md_5.bungee.api.ProxyServer; + +import java.util.UUID; + +import static net.ME1312.SubServers.Sync.Network.Packet.PacketCheckPermission.callbacks; + + +/** + * Check Permission Response Packet + */ +public class PacketCheckPermissionResponse implements Forwardable, PacketObjectIn, PacketObjectOut { + private boolean result; + private UUID tracker; + + /** + * New PacketCheckPermissionResponse (In) + */ + public PacketCheckPermissionResponse() {} + + /** + * New PacketCheckPermissionResponse (Out) + * + * @param player Player to check on + * @param permission Permission to check + * @param tracker Receiver ID + */ + public PacketCheckPermissionResponse(UUID player, String permission, UUID tracker) { + this.result = Util.getDespiteException(() -> ProxyServer.getInstance().getPlayer(player).hasPermission(permission), false); + this.tracker = tracker; + } + + @Override + public ObjectMap send(SubDataSender client) throws Throwable { + ObjectMap data = new ObjectMap(); + data.set(0x0000, tracker); + data.set(0x0001, result); + return data; + } + + @Override + public void receive(SubDataSender client, ObjectMap data) throws Throwable { + for (Callback callback : callbacks.get(data.getUUID(0x0000))) callback.run(data.getBoolean(0x0001)); + callbacks.remove(data.getUUID(0x0000)); + } + + @Override + public int version() { + return 0x0001; + } +} diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCommandServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCommandServer.java index 1561d26c..fb87b486 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCommandServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCommandServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketCommandServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCreateServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCreateServer.java index c67686ac..9f9e492e 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCreateServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketCreateServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -73,7 +73,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -87,7 +87,7 @@ public class PacketCreateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDeleteServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDeleteServer.java index 444774da..bdde064c 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDeleteServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDeleteServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -45,7 +45,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -56,7 +56,7 @@ public class PacketDeleteServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadGroupInfo.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadGroupInfo.java index 9d7f7f24..b792051c 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadGroupInfo.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadGroupInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadGroupInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadHostInfo.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadHostInfo.java index 85d90329..5018edbc 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadHostInfo.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadHostInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (group != null) json.set(0x0001, group); @@ -48,7 +48,7 @@ public class PacketDownloadHostInfo implements PacketObjectIn, PacketOb @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadLang.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadLang.java index 2bc8c45f..bafb0a94 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadLang.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadLang.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.ExProxy; import net.ME1312.SubServers.Sync.Library.Compatibility.Logger; @@ -33,7 +33,7 @@ public class PacketDownloadLang implements PacketObjectIn, PacketOut { public PacketDownloadLang() {} @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { try { Util.reflect(ExProxy.class.getDeclaredField("lang"), plugin, new NamedContainer<>(Calendar.getInstance().getTime().getTime(), data.getObject(0x0001))); Logger.get("SubData").info("Lang Settings Downloaded"); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlatformInfo.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlatformInfo.java index e0b8c821..822859b3 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlatformInfo.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlatformInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -30,7 +30,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); return data; @@ -38,7 +38,7 @@ public class PacketDownloadPlatformInfo implements PacketObjectIn, Pack @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlayerList.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlayerList.java index 9a9a9f19..14746942 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlayerList.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadPlayerList.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -31,7 +31,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); return json; @@ -39,7 +39,7 @@ public class PacketDownloadPlayerList implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadProxyInfo.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadProxyInfo.java index 6f667822..8bfba799 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadProxyInfo.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadProxyInfo.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -40,7 +40,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (proxy != null) json.set(0x0001, proxy); @@ -49,7 +49,7 @@ public class PacketDownloadProxyInfo implements PacketObjectIn, PacketO @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { boolean mode = callbacks.get(data.getUUID(0x0000)).name(); for (Callback> callback : callbacks.get(data.getUUID(0x0000)).get()) { if (mode) { diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadServerInfo.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadServerInfo.java index edc45342..8d6d0af8 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadServerInfo.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketDownloadServerInfo.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, tracker); if (server != null) json.set(0x0001, server); @@ -48,7 +48,7 @@ public class PacketDownloadServerInfo implements PacketObjectIn, Packet @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(new ObjectMap((Map) data.getObject(0x0001))); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketEditServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketEditServer.java index 01d4576b..262596ce 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketEditServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketEditServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -47,7 +47,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -58,7 +58,7 @@ public class PacketEditServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExReset.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExReset.java index 847581b7..c033993c 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExReset.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExReset.java @@ -1,7 +1,7 @@ package net.ME1312.SubServers.Sync.Network.Packet; import net.ME1312.SubData.Client.Protocol.PacketIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.SubAPI; /** @@ -10,7 +10,7 @@ import net.ME1312.SubServers.Sync.SubAPI; public class PacketInExReset implements PacketIn { @Override - public void receive(SubDataClient client) { + public void receive(SubDataSender client) { SubAPI.getInstance().getInternals().servers.clear(); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExRunEvent.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExRunEvent.java index 43fcca63..2d6afbd5 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExRunEvent.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExRunEvent.java @@ -4,7 +4,7 @@ import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.NamedContainer; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.ExProxy; import net.ME1312.SubServers.Sync.Event.*; import net.md_5.bungee.api.ProxyServer; @@ -134,7 +134,7 @@ public class PacketInExRunEvent implements PacketObjectIn { @SuppressWarnings("unchecked") @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (callbacks.keySet().contains(data.getString(0x0000))) { List>> callbacks = PacketInExRunEvent.callbacks.get(data.getString(0x0000)); PacketInExRunEvent.callbacks.remove(data.getString(0x0000)); diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExUpdateWhitelist.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExUpdateWhitelist.java index b707dfd4..c961804e 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExUpdateWhitelist.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketInExUpdateWhitelist.java @@ -2,7 +2,7 @@ package net.ME1312.SubServers.Sync.Network.Packet; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.ExProxy; /** @@ -19,7 +19,7 @@ public class PacketInExUpdateWhitelist implements PacketObjectIn { } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (data.getBoolean(0x0001)) { plugin.servers.get(data.getRawString(0x0000)).whitelist(data.getUUID(0x0002)); } else { diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketLinkProxy.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketLinkProxy.java index d5fdbc38..6c2722b1 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketLinkProxy.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketLinkProxy.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.Initial.InitialPacket; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.ExProxy; import net.ME1312.SubServers.Sync.Library.Compatibility.Logger; import net.ME1312.SubServers.Sync.SubAPI; @@ -39,7 +39,7 @@ public class PacketLinkProxy implements InitialPacket, PacketObjectIn, } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap json = new ObjectMap(); json.set(0x0000, plugin.api.getName()); json.set(0x0001, channel); @@ -47,11 +47,11 @@ public class PacketLinkProxy implements InitialPacket, PacketObjectIn, } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { if (data.getInt(0x0001) == 0) { try { if (data.contains(0x0000)) Util.reflect(SubAPI.class.getDeclaredField("name"), plugin.api, data.getRawString(0x0000)); - setReady(client, true); + setReady(client.getConnection(), true); } catch (Throwable e) { e.printStackTrace(); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRemoveServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRemoveServer.java index 010c2f05..9c565b81 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRemoveServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRemoveServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -43,7 +43,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -53,7 +53,7 @@ public class PacketRemoveServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRestartServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRestartServer.java index f9e0600a..0d66e37a 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRestartServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketRestartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketRestartServer implements PacketObjectIn, PacketObjec } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStartServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStartServer.java index c9bca5b2..f0824a91 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStartServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStartServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -41,7 +41,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, server); @@ -50,7 +50,7 @@ public class PacketStartServer implements PacketObjectIn, PacketObjectO } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStopServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStopServer.java index 0eb5fa3a..904ed6b5 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStopServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketStopServer.java @@ -5,7 +5,7 @@ import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Util; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -44,7 +44,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, id); data.set(0x0001, server); @@ -54,7 +54,7 @@ public class PacketStopServer implements PacketObjectIn, PacketObjectOu } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketUpdateServer.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketUpdateServer.java index 47435cc7..ea855d95 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketUpdateServer.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/Packet/PacketUpdateServer.java @@ -6,7 +6,7 @@ import net.ME1312.Galaxi.Library.Util; import net.ME1312.Galaxi.Library.Version.Version; import net.ME1312.SubData.Client.Protocol.PacketObjectIn; import net.ME1312.SubData.Client.Protocol.PacketObjectOut; -import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import java.util.HashMap; import java.util.UUID; @@ -61,7 +61,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public ObjectMap send(SubDataClient client) { + public ObjectMap send(SubDataSender client) { ObjectMap data = new ObjectMap(); data.set(0x0000, tracker); data.set(0x0001, name); @@ -72,7 +72,7 @@ public class PacketUpdateServer implements PacketObjectIn, PacketObject } @Override - public void receive(SubDataClient client, ObjectMap data) { + public void receive(SubDataSender client, ObjectMap data) { for (Callback> callback : callbacks.get(data.getUUID(0x0000))) callback.run(data); callbacks.remove(data.getUUID(0x0000)); } diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubProtocol.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubProtocol.java index 69454862..887146e3 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubProtocol.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Network/SubProtocol.java @@ -55,6 +55,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, PacketDownloadServerInfo.class); instance.registerPacket(0x0016, PacketDownloadPlayerList.class); instance.registerPacket(0x0017, PacketCheckPermission.class); + instance.registerPacket(0x0018, PacketCheckPermissionResponse.class); instance.registerPacket(0x0010, new PacketDownloadLang(plugin)); instance.registerPacket(0x0011, new PacketDownloadPlatformInfo()); @@ -64,6 +65,7 @@ public class SubProtocol extends SubDataProtocol { instance.registerPacket(0x0015, new PacketDownloadServerInfo()); instance.registerPacket(0x0016, new PacketDownloadPlayerList()); instance.registerPacket(0x0017, new PacketCheckPermission()); + instance.registerPacket(0x0018, new PacketCheckPermissionResponse()); // 30-4F: Control Packets @@ -164,12 +166,11 @@ public class SubProtocol extends SubDataProtocol { subdata.on.closed(client -> { SubNetworkDisconnectEvent event = new SubNetworkDisconnectEvent(client.get(), client.name()); plugin.getPluginManager().callEvent(event); - map.put(0, null); if (plugin.isRunning) { net.ME1312.SubServers.Sync.Library.Compatibility.Logger.get("SubData").info("Attempting reconnect in " + plugin.config.get().getMap("Settings").getMap("SubData").getInt("Reconnect", 30) + " seconds"); Util.isException(() -> Util.reflect(ExProxy.class.getDeclaredMethod("connect", NamedContainer.class), plugin, client)); - } + } else map.put(0, null); }); return subdata; diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/ServerImpl.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/ServerImpl.java index f2d879f0..6c0450cc 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/ServerImpl.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/Server/ServerImpl.java @@ -1,6 +1,11 @@ package net.ME1312.SubServers.Sync.Server; import net.ME1312.Galaxi.Library.Util; +import net.ME1312.SubData.Client.DataSender; +import net.ME1312.SubData.Client.Library.ForwardedDataSender; +import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; +import net.ME1312.SubServers.Sync.SubAPI; import net.md_5.bungee.BungeeServerInfo; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -36,12 +41,12 @@ public class ServerImpl extends BungeeServerInfo { * * @return SubData Client Channel ID Array */ - public UUID[] getSubData() { + public DataSender[] getSubData() { LinkedList keys = new LinkedList(subdata.keySet()); - LinkedList channels = new LinkedList(); + LinkedList channels = new LinkedList(); Collections.sort(keys); - for (Integer channel : keys) channels.add(subdata.get(channel)); - return channels.toArray(new UUID[0]); + for (Integer channel : keys) channels.add((subdata.getOrDefault(channel, null) == null)?null:new ForwardedDataSender((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0], subdata.get(channel))); + return channels.toArray(new SubDataSender[0]); } /** diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubCommand.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubCommand.java index 85ce1feb..5a49572d 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubCommand.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubCommand.java @@ -3,6 +3,7 @@ package net.ME1312.SubServers.Sync; import com.google.gson.Gson; import net.ME1312.Galaxi.Library.Callback.Callback; import net.ME1312.SubData.Client.SubDataClient; +import net.ME1312.SubData.Client.SubDataSender; import net.ME1312.SubServers.Sync.Library.Compatibility.CommandX; import net.ME1312.Galaxi.Library.Map.ObjectMap; import net.ME1312.Galaxi.Library.Container; @@ -691,7 +692,7 @@ public final class SubCommand extends CommandX { HashMap> map = (players.keySet().contains(((ProxiedPlayer) sender).getUniqueId()))?players.get(((ProxiedPlayer) sender).getUniqueId()):new HashMap>(); map.put(((ProxiedPlayer) sender).getServer().getInfo(), new NamedContainer<>(null, false)); players.put(((ProxiedPlayer) sender).getUniqueId(), map); - ((SubDataClient) SubAPI.getInstance().getSubDataNetwork()[0]).sendPacket(new PacketCheckPermission(((ProxiedPlayer) sender).getServer().getInfo().getName(), ((ProxiedPlayer) sender).getUniqueId(), "subservers.command", result -> { + ((SubDataSender) ((ServerImpl) ((ProxiedPlayer) sender).getServer().getInfo()).getSubData()[0]).sendPacket(new PacketCheckPermission(((ProxiedPlayer) sender).getUniqueId(), "subservers.command", result -> { map.put(((ProxiedPlayer) sender).getServer().getInfo(), new NamedContainer<>(Calendar.getInstance().getTime().getTime(), result)); })); } @@ -711,7 +712,6 @@ public final class SubCommand extends CommandX { } else { if (args[0].equals("info") || args[0].equals("status")) { if (args.length == 2) { - updateCache(); List list = new ArrayList(); List subcommands = new ArrayList(); subcommands.add("proxy"); @@ -748,7 +748,6 @@ public final class SubCommand extends CommandX { } return new NamedContainer<>((list.size() <= 0)?plugin.api.getLang("SubServers", "Command.Info.Unknown").replace("$str$", args[0]):null, list); } else if (args.length == 3) { - updateCache(); List list = new ArrayList(); if (last.length() == 0) { switch (args[1].toLowerCase()) { @@ -807,7 +806,34 @@ public final class SubCommand extends CommandX { } else { return new NamedContainer<>(null, Collections.emptyList()); } - } else if (args[0].equals("start")) { + } else if (!(sender instanceof ProxiedPlayer) && (args[0].equals("reload") || args[0].equals("restore"))) { + if (args[0].equals("reload")) { + List list = new ArrayList(), + completes = Arrays.asList("all", "config", "templates"); + if (args.length == 2) { + if (last.length() == 0) { + list = completes; + } else { + for (String complete : completes) { + if (complete.toLowerCase().startsWith(last)) list.add(last + complete.substring(last.length())); + } + } + return new NamedContainer<>((list.size() <= 0)?plugin.api.getLang("SubServers", "Command.Generic.Unknown").replace("$str$", args[0]):null, list); + } else { + return new NamedContainer<>(null, Collections.emptyList()); + } + } else /* if (args[0].equals("restore")) */ { + if (args.length == 2) { + return new NamedContainer<>(null, Collections.singletonList("")); + } else { + return new NamedContainer<>(null, Collections.emptyList()); + } + } + } else if (args[0].equals("start") || + (!(sender instanceof ProxiedPlayer) && ( + args[0].equals("sudo") || args[0].equals("screen") || + args[0].equals("del") || args[0].equals("delete") + ))) { List list = new ArrayList(); if (args.length == 2) { if (last.length() == 0) {