Selaa lähdekoodia

Return party chat to ye olden method

NuclearW 13 vuotta sitten
vanhempi
sitoutus
75b287771a

+ 13 - 7
src/main/java/com/gmail/nossr50/commands/party/PCommand.java

@@ -30,7 +30,6 @@ public class PCommand implements CommandExecutor {
             return true;
         }
 
-
         switch (args.length) {
         case 0:
             if (sender instanceof Player) {
@@ -71,13 +70,20 @@ public class PCommand implements CommandExecutor {
                     message = message + " " + args [i];
                 }
 
-                if (PP.getPartyChatMode()) {
-                    player.chat(message);
+                McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(player.getName(), PP.getParty(), message);
+                plugin.getServer().getPluginManager().callEvent(chatEvent);
+
+                if (chatEvent.isCancelled()) {
+                    return true;
                 }
-                else {
-                    PP.togglePartyChat();
-                    player.chat(message);
-                    PP.togglePartyChat();
+
+                message = chatEvent.getMessage();
+                String prefix = ChatColor.GREEN + "(" + ChatColor.WHITE + player.getName() + ChatColor.GREEN + ") ";
+
+                plugin.getLogger().info("[P](" + PP.getParty() + ")" + "<" + player.getName() + "> " + message);
+
+                for (Player p : Party.getInstance().getOnlineMembers(PP.getParty())) {
+                    p.sendMessage(prefix + message);
                 }
             }
             else {

+ 5 - 8
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -329,18 +329,15 @@ public class PlayerListener implements Listener {
                 return;
             }
 
-            event.setMessage(chatEvent.getMessage());
+            String prefix = ChatColor.GREEN + "(" + ChatColor.WHITE + player.getName() + ChatColor.GREEN + ") ";
 
-            Set<Player> intendedRecipients = new HashSet<Player>();
+            plugin.getLogger().info("[P](" + PP.getParty() + ")" + "<" + player.getName() + "> " + chatEvent.getMessage());
 
-            for (Player x : Party.getInstance().getOnlineMembers(player)) {
-                intendedRecipients.add(x);
+            for (Player p : Party.getInstance().getOnlineMembers(PP.getParty())) {
+                p.sendMessage(prefix + chatEvent.getMessage());
             }
 
-            ChatColor bracketColor = ChatColor.GREEN;
-
-            event.setFormat(bracketColor + "(" + ChatColor.WHITE + "%1$s" + bracketColor + ") %2$s");
-            event.getRecipients().retainAll(intendedRecipients);
+            event.setCancelled(true);
         }
         else if (PP.getAdminChatMode()) {
             McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(player.getName(), event.getMessage());