diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/bungee/event/ServerSwitchListener.java b/nicko-core/src/main/java/net/artelnatif/nicko/bungee/event/ServerSwitchListener.java index 5d38915..9df35ec 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/bungee/event/ServerSwitchListener.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/bungee/event/ServerSwitchListener.java @@ -2,20 +2,25 @@ package net.artelnatif.nicko.bungee.event; import net.artelnatif.nicko.bungee.NickoBungee; import net.artelnatif.nicko.bungee.pluginchannel.PluginMessageUtils; -import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.Server; import net.md_5.bungee.api.event.ServerSwitchEvent; import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; +import java.util.ArrayList; + public class ServerSwitchListener implements Listener { @EventHandler public void onSwitch(ServerSwitchEvent event) { - final ServerInfo from = event.getFrom(); final ProxiedPlayer player = event.getPlayer(); - final Server to = player.getServer(); + final Server server = player.getServer(); System.out.println("NickoBungee.NICKO_PLUGIN_CHANNEL_UPDATE = " + NickoBungee.NICKO_PLUGIN_CHANNEL_UPDATE); - PluginMessageUtils.sendMessage(from, NickoBungee.NICKO_PLUGIN_CHANNEL_UPDATE, player.getUniqueId().toString()); + + final ArrayList payload = new ArrayList<>(); + payload.add(player.getUniqueId().toString()); + payload.add("otherdata"); + + PluginMessageUtils.sendMessage(server.getInfo(), NickoBungee.NICKO_PLUGIN_CHANNEL_UPDATE, payload); } } diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/bungee/pluginchannel/PluginMessageUtils.java b/nicko-core/src/main/java/net/artelnatif/nicko/bungee/pluginchannel/PluginMessageUtils.java index 0065d78..39a1b59 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/bungee/pluginchannel/PluginMessageUtils.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/bungee/pluginchannel/PluginMessageUtils.java @@ -4,16 +4,17 @@ import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import net.md_5.bungee.api.config.ServerInfo; +import java.util.ArrayList; + public class PluginMessageUtils { - public static void sendMessage(final ServerInfo info, final String channel, final String... data) { + public static void sendMessage(final ServerInfo info, final String channel, final ArrayList payload) { if (info == null) { return; } final ByteArrayDataOutput output = ByteStreams.newDataOutput(); - output.writeUTF(channel); - for (String elt : data) { + output.writeInt(payload.size()); + for (String elt : payload) { output.writeUTF(elt); } - System.out.printf("(%s) PluginMessage <-> %s", info.getSocketAddress().toString(), output); info.sendData(channel, output.toByteArray(), true); } } diff --git a/nicko-core/src/main/java/net/artelnatif/nicko/pluginchannel/PluginMessageHandler.java b/nicko-core/src/main/java/net/artelnatif/nicko/pluginchannel/PluginMessageHandler.java index 27eb4cd..4b64bda 100644 --- a/nicko-core/src/main/java/net/artelnatif/nicko/pluginchannel/PluginMessageHandler.java +++ b/nicko-core/src/main/java/net/artelnatif/nicko/pluginchannel/PluginMessageHandler.java @@ -9,7 +9,7 @@ import org.bukkit.plugin.messaging.PluginMessageListener; import java.util.ArrayList; -public class UpdateMessageHandler implements PluginMessageListener { +public class PluginMessageHandler implements PluginMessageListener { @Override public void onPluginMessageReceived(String channel, Player player, byte[] message) { if (!channel.equals(NickoBungee.NICKO_PLUGIN_CHANNEL_UPDATE)) { @@ -21,7 +21,8 @@ public class UpdateMessageHandler implements PluginMessageListener { final int payloadSize = in.readInt(); if (payloadSize == 0 || payloadSize > 4) { - NickoBukkit.getInstance().getLogger().severe("Prevented error by skipping malformed payload of size " + payloadSize + "."); + NickoBukkit.getInstance().getLogger().severe("Prevented error by skipping malformed payload of size " + payloadSize + "!" + + "This should not have happened, open an issue on the repository at https://atnrch.xyz/git/aro/Nicko !"); return; }