From e57ba58e6fd1f9571e558dbf56328675b8b14a92 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Sun, 11 Apr 2021 15:43:09 -0500 Subject: [PATCH] Create MCP instance on receiving server if it doesn't exist. --- src/mineverse/Aust1n46/chat/MineverseChat.java | 15 ++++++++++++--- .../Aust1n46/chat/bungee/MineverseChatBungee.java | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/mineverse/Aust1n46/chat/MineverseChat.java b/src/mineverse/Aust1n46/chat/MineverseChat.java index 48097df..c9c0b99 100644 --- a/src/mineverse/Aust1n46/chat/MineverseChat.java +++ b/src/mineverse/Aust1n46/chat/MineverseChat.java @@ -1262,11 +1262,17 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { if(p.hasNotifications()) { Format.playMessageSound(p); } + if(MineverseChatAPI.getMineverseChatPlayer(sender) == null) { + MineverseChatPlayer senderMCP = new MineverseChatPlayer(sender, sName); + MineverseChatAPI.addMineverseChatPlayerToMap(senderMCP); + MineverseChatAPI.addNameToMap(senderMCP); + } p.setReplyPlayer(sender); out.writeUTF("Message"); out.writeUTF("Echo"); out.writeUTF(server); out.writeUTF(receiver); + out.writeUTF(p.getUUID().toString()); out.writeUTF(sender.toString()); out.writeUTF(sName); out.writeUTF(Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(p.getPlayer(), echo.replaceAll("receiver_", ""))) + msg); @@ -1298,13 +1304,16 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { } if(identifier.equals("Echo")) { String receiverName = msgin.readUTF(); + UUID receiverUUID = UUID.fromString(msgin.readUTF()); UUID senderUUID = UUID.fromString(msgin.readUTF()); MineverseChatPlayer senderMCP = MineverseChatAPI.getOnlineMineverseChatPlayer(senderUUID); - MineverseChatPlayer receiverMCP = MineverseChatAPI.getMineverseChatPlayer(receiverName); String echo = msgin.readUTF(); - if(receiverMCP != null) { - senderMCP.setReplyPlayer(receiverMCP.getUUID()); + if(MineverseChatAPI.getMineverseChatPlayer(receiverUUID) == null) { + MineverseChatPlayer receiverMCP = new MineverseChatPlayer(receiverUUID, receiverName); + MineverseChatAPI.addMineverseChatPlayerToMap(receiverMCP); + MineverseChatAPI.addNameToMap(receiverMCP); } + senderMCP.setReplyPlayer(receiverUUID); senderMCP.getPlayer().sendMessage(echo); } if(identifier.equals("Spy")) { diff --git a/src/mineverse/Aust1n46/chat/bungee/MineverseChatBungee.java b/src/mineverse/Aust1n46/chat/bungee/MineverseChatBungee.java index 2493b1e..0d57a72 100644 --- a/src/mineverse/Aust1n46/chat/bungee/MineverseChatBungee.java +++ b/src/mineverse/Aust1n46/chat/bungee/MineverseChatBungee.java @@ -521,6 +521,7 @@ public class MineverseChatBungee extends Plugin implements Listener { if(identifier.equals("Echo")) { String server = in.readUTF(); String player = in.readUTF(); + String receiverUUID = in.readUTF(); String sender = in.readUTF(); String sName = in.readUTF(); String echo = in.readUTF(); @@ -528,6 +529,7 @@ public class MineverseChatBungee extends Plugin implements Listener { out.writeUTF("Message"); out.writeUTF("Echo"); out.writeUTF(player); + out.writeUTF(receiverUUID); out.writeUTF(sender); out.writeUTF(echo); if(getProxy().getServers().get(server).getPlayers().size() > 0) {