mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 01:03:44 +01:00 
			
		
		
		
	ChatManagers...
This commit is contained in:
		| @@ -4,6 +4,9 @@ import org.bukkit.entity.Player; | |||||||
| import org.bukkit.plugin.Plugin; | import org.bukkit.plugin.Plugin; | ||||||
|  |  | ||||||
| import com.gmail.nossr50.chat.ChatManager; | import com.gmail.nossr50.chat.ChatManager; | ||||||
|  | import com.gmail.nossr50.chat.ChatManagerFactory; | ||||||
|  | import com.gmail.nossr50.chat.ChatMode; | ||||||
|  | import com.gmail.nossr50.chat.PartyChatManager; | ||||||
| import com.gmail.nossr50.party.PartyManager; | import com.gmail.nossr50.party.PartyManager; | ||||||
| import com.gmail.nossr50.util.player.UserManager; | import com.gmail.nossr50.util.player.UserManager; | ||||||
|  |  | ||||||
| @@ -22,7 +25,7 @@ public final class ChatAPI { | |||||||
|      * @param message The message to send |      * @param message The message to send | ||||||
|      */ |      */ | ||||||
|     public static void sendPartyChat(Plugin plugin, String sender, String displayName, String party, String message) { |     public static void sendPartyChat(Plugin plugin, String sender, String displayName, String party, String message) { | ||||||
|         ChatManager.handlePartyChat(plugin, PartyManager.getParty(party), sender, displayName, message); |         getPartyChatManager(plugin, party).handleChat(sender, displayName, message); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -36,7 +39,7 @@ public final class ChatAPI { | |||||||
|      * @param message The message to send |      * @param message The message to send | ||||||
|      */ |      */ | ||||||
|     public static void sendPartyChat(Plugin plugin, String sender, String party, String message) { |     public static void sendPartyChat(Plugin plugin, String sender, String party, String message) { | ||||||
|         ChatManager.handlePartyChat(plugin, PartyManager.getParty(party), sender, sender, message); |         getPartyChatManager(plugin, party).handleChat(sender, message); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -50,7 +53,7 @@ public final class ChatAPI { | |||||||
|      * @param message The message to send |      * @param message The message to send | ||||||
|      */ |      */ | ||||||
|     public static void sendAdminChat(Plugin plugin, String sender, String displayName, String message) { |     public static void sendAdminChat(Plugin plugin, String sender, String displayName, String message) { | ||||||
|         ChatManager.handleAdminChat(plugin, sender, displayName, message); |         ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN).handleChat(sender, displayName, message); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -63,7 +66,7 @@ public final class ChatAPI { | |||||||
|      * @param message The message to send |      * @param message The message to send | ||||||
|      */ |      */ | ||||||
|     public static void sendAdminChat(Plugin plugin, String sender, String message) { |     public static void sendAdminChat(Plugin plugin, String sender, String message) { | ||||||
|         ChatManager.handleAdminChat(plugin, sender, sender, message); |         ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN).handleChat(sender, message); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -73,7 +76,7 @@ public final class ChatAPI { | |||||||
|      * @return true if the player is using party chat, false otherwise |      * @return true if the player is using party chat, false otherwise | ||||||
|      */ |      */ | ||||||
|     public static boolean isUsingPartyChat(Player player) { |     public static boolean isUsingPartyChat(Player player) { | ||||||
|         return isUsingPartyChat(player.getName()); |         return UserManager.getPlayer(player).getPartyChatMode(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -93,7 +96,7 @@ public final class ChatAPI { | |||||||
|      * @return true if the player is using admin chat, false otherwise |      * @return true if the player is using admin chat, false otherwise | ||||||
|      */ |      */ | ||||||
|     public static boolean isUsingAdminChat(Player player) { |     public static boolean isUsingAdminChat(Player player) { | ||||||
|         return isUsingAdminChat(player.getName()); |         return UserManager.getPlayer(player).getAdminChatMode(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -112,7 +115,7 @@ public final class ChatAPI { | |||||||
|      * @param player The player to toggle party chat on. |      * @param player The player to toggle party chat on. | ||||||
|      */ |      */ | ||||||
|     public static void togglePartyChat(Player player) { |     public static void togglePartyChat(Player player) { | ||||||
|         togglePartyChat(player.getName()); |         UserManager.getPlayer(player).togglePartyChat(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -121,7 +124,7 @@ public final class ChatAPI { | |||||||
|      * @param playerName The name of the player to toggle party chat on. |      * @param playerName The name of the player to toggle party chat on. | ||||||
|      */ |      */ | ||||||
|     public static void togglePartyChat(String playerName) { |     public static void togglePartyChat(String playerName) { | ||||||
|         UserManager.getPlayer(playerName).setPartyChat(!isUsingPartyChat(playerName)); |         UserManager.getPlayer(playerName).togglePartyChat(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -130,7 +133,7 @@ public final class ChatAPI { | |||||||
|      * @param player The player to toggle admin chat on. |      * @param player The player to toggle admin chat on. | ||||||
|      */ |      */ | ||||||
|     public static void toggleAdminChat(Player player) { |     public static void toggleAdminChat(Player player) { | ||||||
|         toggleAdminChat(player.getName()); |         UserManager.getPlayer(player).toggleAdminChat(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -139,6 +142,13 @@ public final class ChatAPI { | |||||||
|      * @param playerName The name of the player to toggle party chat on. |      * @param playerName The name of the player to toggle party chat on. | ||||||
|      */ |      */ | ||||||
|     public static void toggleAdminChat(String playerName) { |     public static void toggleAdminChat(String playerName) { | ||||||
|         UserManager.getPlayer(playerName).setAdminChat(!isUsingAdminChat(playerName)); |         UserManager.getPlayer(playerName).toggleAdminChat(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private static ChatManager getPartyChatManager(Plugin plugin, String party) { | ||||||
|  |         ChatManager chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY); | ||||||
|  |         ((PartyChatManager) chatManager).setParty(PartyManager.getParty(party)); | ||||||
|  |  | ||||||
|  |         return chatManager; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								src/main/java/com/gmail/nossr50/chat/AdminChatManager.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/main/java/com/gmail/nossr50/chat/AdminChatManager.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | package com.gmail.nossr50.chat; | ||||||
|  |  | ||||||
|  | import org.bukkit.plugin.Plugin; | ||||||
|  |  | ||||||
|  | import com.gmail.nossr50.config.Config; | ||||||
|  | import com.gmail.nossr50.events.chat.McMMOAdminChatEvent; | ||||||
|  |  | ||||||
|  | public class AdminChatManager extends ChatManager { | ||||||
|  |     protected AdminChatManager(Plugin plugin) { | ||||||
|  |         super(plugin, Config.getInstance().getAdminDisplayNames(), "Commands.AdminChat.Prefix"); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void handleChat(String senderName, String displayName, String message, boolean isAsync) { | ||||||
|  |         handleChat(new McMMOAdminChatEvent(plugin, senderName, displayName, message, isAsync)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     protected void sendMessage() { | ||||||
|  |         plugin.getServer().broadcast(message, "mcmmo.chat.adminchat"); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -1,78 +1,51 @@ | |||||||
| package com.gmail.nossr50.chat; | package com.gmail.nossr50.chat; | ||||||
|  |  | ||||||
| import org.bukkit.ChatColor; |  | ||||||
| import org.bukkit.entity.Player; | import org.bukkit.entity.Player; | ||||||
| import org.bukkit.plugin.Plugin; | import org.bukkit.plugin.Plugin; | ||||||
|  |  | ||||||
| import com.gmail.nossr50.mcMMO; | import com.gmail.nossr50.events.chat.McMMOChatEvent; | ||||||
| import com.gmail.nossr50.config.Config; |  | ||||||
| import com.gmail.nossr50.datatypes.party.Party; |  | ||||||
| import com.gmail.nossr50.events.chat.McMMOAdminChatEvent; |  | ||||||
| import com.gmail.nossr50.events.chat.McMMOPartyChatEvent; |  | ||||||
| import com.gmail.nossr50.locale.LocaleLoader; | import com.gmail.nossr50.locale.LocaleLoader; | ||||||
|  |  | ||||||
| public final class ChatManager { | public abstract class ChatManager { | ||||||
|     public ChatManager() {} |     protected Plugin plugin; | ||||||
|  |     protected boolean useDisplayNames; | ||||||
|  |     protected String chatPrefix; | ||||||
|  |  | ||||||
|     public static void handleAdminChat(Plugin plugin, String playerName, String displayName, String message, boolean isAsync) { |     protected String displayName; | ||||||
|         McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(plugin, playerName, displayName, message, isAsync); |     protected String message; | ||||||
|         mcMMO.p.getServer().getPluginManager().callEvent(chatEvent); |  | ||||||
|  |  | ||||||
|         if (chatEvent.isCancelled()) { |     protected ChatManager(Plugin plugin, boolean useDisplayNames, String chatPrefix) { | ||||||
|  |         this.plugin = plugin; | ||||||
|  |         this.useDisplayNames = useDisplayNames; | ||||||
|  |         this.chatPrefix = chatPrefix; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     protected void handleChat(McMMOChatEvent event) { | ||||||
|  |         plugin.getServer().getPluginManager().callEvent(event); | ||||||
|  |  | ||||||
|  |         if (event.isCancelled()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (Config.getInstance().getAdminDisplayNames()) { |         displayName = useDisplayNames ? event.getDisplayName() : event.getSender(); | ||||||
|             displayName = chatEvent.getDisplayName(); |         message = LocaleLoader.getString(chatPrefix, displayName) + event.getMessage(); | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             displayName = chatEvent.getSender(); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         String adminMessage = chatEvent.getMessage(); |         sendMessage(); | ||||||
|  |  | ||||||
|         mcMMO.p.getServer().broadcast(LocaleLoader.getString("Commands.AdminChat.Prefix", displayName) + adminMessage, "mcmmo.chat.adminchat"); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void handleAdminChat(Plugin plugin, String senderName, String message) { |     public void handleChat(String senderName, String message) { | ||||||
|         handleAdminChat(plugin, senderName, senderName, message); |         handleChat(senderName, senderName, message, false); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void handleAdminChat(Plugin plugin, String playerName, String displayName, String message) { |     public void handleChat(Player player, String message, boolean isAsync) { | ||||||
|         handleAdminChat(plugin, playerName, displayName, message, false); |         handleChat(player.getName(), player.getDisplayName(), message, isAsync); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void handlePartyChat(Plugin plugin, Party party, String playerName, String displayName, String message, boolean isAsync) { |     public void handleChat(String senderName, String displayName, String message) { | ||||||
|         String partyName = party.getName(); |         handleChat(senderName, displayName, message, false); | ||||||
|  |  | ||||||
|         McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(plugin, playerName, displayName, partyName, message, isAsync); |  | ||||||
|         mcMMO.p.getServer().getPluginManager().callEvent(chatEvent); |  | ||||||
|  |  | ||||||
|         if (chatEvent.isCancelled()) { |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (Config.getInstance().getPartyDisplayNames()) { |  | ||||||
|             displayName = chatEvent.getDisplayName(); |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             displayName = chatEvent.getSender(); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         String partyMessage = chatEvent.getMessage(); |  | ||||||
|  |  | ||||||
|         for (Player member : party.getOnlineMembers()) { |  | ||||||
|             member.sendMessage(LocaleLoader.getString("Commands.Party.Chat.Prefix", displayName) + partyMessage); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         mcMMO.p.getLogger().info("[P](" + partyName + ")" + "<" + ChatColor.stripColor(displayName) + "> " + partyMessage); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void handlePartyChat(Plugin plugin, Party party, String senderName, String message) { |     public abstract void handleChat(String senderName, String displayName, String message, boolean isAsync); | ||||||
|         handlePartyChat(plugin, party, senderName, senderName, message); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public static void handlePartyChat(Plugin plugin, Party party, String playerName, String displayName, String message) { |     protected abstract void sendMessage(); | ||||||
|         handlePartyChat(plugin, party, playerName, displayName, message, false); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										29
									
								
								src/main/java/com/gmail/nossr50/chat/ChatManagerFactory.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/main/java/com/gmail/nossr50/chat/ChatManagerFactory.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | package com.gmail.nossr50.chat; | ||||||
|  |  | ||||||
|  | import java.util.HashMap; | ||||||
|  |  | ||||||
|  | import org.bukkit.plugin.Plugin; | ||||||
|  |  | ||||||
|  | public class ChatManagerFactory { | ||||||
|  |     private static final HashMap<Plugin, AdminChatManager> adminChatManagers = new HashMap<Plugin, AdminChatManager>(); | ||||||
|  |     private static final HashMap<Plugin, PartyChatManager> partyChatManagers = new HashMap<Plugin, PartyChatManager>(); | ||||||
|  |  | ||||||
|  |     public static ChatManager getChatManager(Plugin plugin, ChatMode mode) { | ||||||
|  |         switch (mode) { | ||||||
|  |             case ADMIN: | ||||||
|  |                 if (!adminChatManagers.containsKey(plugin)) { | ||||||
|  |                     adminChatManagers.put(plugin, new AdminChatManager(plugin)); | ||||||
|  |                 } | ||||||
|  |  | ||||||
|  |                 return adminChatManagers.get(plugin); | ||||||
|  |             case PARTY: | ||||||
|  |                 if (!partyChatManagers.containsKey(plugin)) { | ||||||
|  |                     partyChatManagers.put(plugin, new PartyChatManager(plugin)); | ||||||
|  |                 } | ||||||
|  |  | ||||||
|  |                 return partyChatManagers.get(plugin); | ||||||
|  |             default: | ||||||
|  |                 return null; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										36
									
								
								src/main/java/com/gmail/nossr50/chat/PartyChatManager.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/main/java/com/gmail/nossr50/chat/PartyChatManager.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | package com.gmail.nossr50.chat; | ||||||
|  |  | ||||||
|  | import org.bukkit.ChatColor; | ||||||
|  | import org.bukkit.entity.Player; | ||||||
|  | import org.bukkit.plugin.Plugin; | ||||||
|  |  | ||||||
|  | import com.gmail.nossr50.config.Config; | ||||||
|  | import com.gmail.nossr50.datatypes.party.Party; | ||||||
|  | import com.gmail.nossr50.events.chat.McMMOPartyChatEvent; | ||||||
|  | import com.gmail.nossr50.locale.LocaleLoader; | ||||||
|  |  | ||||||
|  | public class PartyChatManager extends ChatManager { | ||||||
|  |     private Party party; | ||||||
|  |  | ||||||
|  |     protected PartyChatManager(Plugin plugin) { | ||||||
|  |         super(plugin, Config.getInstance().getPartyDisplayNames(), "Commands.Party.Chat.Prefix"); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setParty(Party party) { | ||||||
|  |         this.party = party; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void handleChat(String senderName, String displayName, String message, boolean isAsync) { | ||||||
|  |         handleChat(new McMMOPartyChatEvent(plugin, senderName, displayName, party.getName(), message, isAsync)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     protected void sendMessage() { | ||||||
|  |         for (Player member : party.getOnlineMembers()) { | ||||||
|  |             member.sendMessage(LocaleLoader.getString("Commands.Party.Chat.Prefix", displayName) + message); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         plugin.getLogger().info("[P](" + party.getName() + ")" + "<" + ChatColor.stripColor(displayName) + "> " + message); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -1,12 +1,8 @@ | |||||||
| package com.gmail.nossr50.commands.chat; | package com.gmail.nossr50.commands.chat; | ||||||
|  |  | ||||||
| import org.bukkit.command.CommandSender; | import org.bukkit.command.CommandSender; | ||||||
| import org.bukkit.entity.Player; |  | ||||||
|  |  | ||||||
| import com.gmail.nossr50.mcMMO; |  | ||||||
| import com.gmail.nossr50.chat.ChatManager; |  | ||||||
| import com.gmail.nossr50.chat.ChatMode; | import com.gmail.nossr50.chat.ChatMode; | ||||||
| import com.gmail.nossr50.locale.LocaleLoader; |  | ||||||
|  |  | ||||||
| public class AdminChatCommand extends ChatCommand { | public class AdminChatCommand extends ChatCommand { | ||||||
|     public AdminChatCommand() { |     public AdminChatCommand() { | ||||||
| @@ -15,12 +11,6 @@ public class AdminChatCommand extends ChatCommand { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     protected void handleChatSending(CommandSender sender, String[] args) { |     protected void handleChatSending(CommandSender sender, String[] args) { | ||||||
|         if (sender instanceof Player) { |         chatManager.handleChat(sender.getName(), getDisplayName(sender), buildChatMessage(args, 0)); | ||||||
|             Player player = (Player) sender; |  | ||||||
|             ChatManager.handleAdminChat(mcMMO.p, player.getName(), player.getDisplayName(), buildChatMessage(args, 0)); |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             ChatManager.handleAdminChat(mcMMO.p, LocaleLoader.getString("Commands.Chat.Console"), buildChatMessage(args, 0)); |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -9,6 +9,9 @@ import org.bukkit.command.TabExecutor; | |||||||
| import org.bukkit.entity.Player; | import org.bukkit.entity.Player; | ||||||
| import org.bukkit.util.StringUtil; | import org.bukkit.util.StringUtil; | ||||||
|  |  | ||||||
|  | import com.gmail.nossr50.mcMMO; | ||||||
|  | import com.gmail.nossr50.chat.ChatManager; | ||||||
|  | import com.gmail.nossr50.chat.ChatManagerFactory; | ||||||
| import com.gmail.nossr50.chat.ChatMode; | import com.gmail.nossr50.chat.ChatMode; | ||||||
| import com.gmail.nossr50.datatypes.player.McMMOPlayer; | import com.gmail.nossr50.datatypes.player.McMMOPlayer; | ||||||
| import com.gmail.nossr50.locale.LocaleLoader; | import com.gmail.nossr50.locale.LocaleLoader; | ||||||
| @@ -19,10 +22,12 @@ import com.google.common.collect.ImmutableList; | |||||||
|  |  | ||||||
| public abstract class ChatCommand implements TabExecutor { | public abstract class ChatCommand implements TabExecutor { | ||||||
|     protected ChatMode chatMode; |     protected ChatMode chatMode; | ||||||
|  |     protected ChatManager chatManager; | ||||||
|     private McMMOPlayer mcMMOPlayer; |     private McMMOPlayer mcMMOPlayer; | ||||||
|  |  | ||||||
|     public ChatCommand(ChatMode chatMode) { |     public ChatCommand(ChatMode chatMode) { | ||||||
|         this.chatMode = chatMode; |         this.chatMode = chatMode; | ||||||
|  |         this.chatManager = ChatManagerFactory.getChatManager(mcMMO.p, chatMode); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
| @@ -97,6 +102,10 @@ public abstract class ChatCommand implements TabExecutor { | |||||||
|         return builder.toString(); |         return builder.toString(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     protected String getDisplayName(CommandSender sender) { | ||||||
|  |         return (sender instanceof Player) ? ((Player) sender).getDisplayName() : LocaleLoader.getString("Commands.Chat.Console"); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     protected abstract void handleChatSending(CommandSender sender, String[] args); |     protected abstract void handleChatSending(CommandSender sender, String[] args); | ||||||
|  |  | ||||||
|     private void enableChatMode(CommandSender sender) { |     private void enableChatMode(CommandSender sender) { | ||||||
|   | |||||||
| @@ -3,9 +3,8 @@ package com.gmail.nossr50.commands.chat; | |||||||
| import org.bukkit.command.CommandSender; | import org.bukkit.command.CommandSender; | ||||||
| import org.bukkit.entity.Player; | import org.bukkit.entity.Player; | ||||||
|  |  | ||||||
| import com.gmail.nossr50.mcMMO; |  | ||||||
| import com.gmail.nossr50.chat.ChatManager; |  | ||||||
| import com.gmail.nossr50.chat.ChatMode; | import com.gmail.nossr50.chat.ChatMode; | ||||||
|  | import com.gmail.nossr50.chat.PartyChatManager; | ||||||
| import com.gmail.nossr50.datatypes.party.Party; | import com.gmail.nossr50.datatypes.party.Party; | ||||||
| import com.gmail.nossr50.locale.LocaleLoader; | import com.gmail.nossr50.locale.LocaleLoader; | ||||||
| import com.gmail.nossr50.party.PartyManager; | import com.gmail.nossr50.party.PartyManager; | ||||||
| @@ -18,16 +17,18 @@ public class PartyChatCommand extends ChatCommand { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     protected void handleChatSending(CommandSender sender, String[] args) { |     protected void handleChatSending(CommandSender sender, String[] args) { | ||||||
|  |         Party party; | ||||||
|  |         String message; | ||||||
|  |  | ||||||
|         if (sender instanceof Player) { |         if (sender instanceof Player) { | ||||||
|             Player player = (Player) sender; |             party = UserManager.getPlayer((Player) sender).getParty(); | ||||||
|             Party party = UserManager.getPlayer(player).getParty(); |  | ||||||
|  |  | ||||||
|             if (party == null) { |             if (party == null) { | ||||||
|                 sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); |                 sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             ChatManager.handlePartyChat(mcMMO.p, party, player.getName(), player.getDisplayName(), buildChatMessage(args, 0)); |             message = buildChatMessage(args, 0); | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|             if (args.length < 2) { |             if (args.length < 2) { | ||||||
| @@ -35,14 +36,17 @@ public class PartyChatCommand extends ChatCommand { | |||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             Party party = PartyManager.getParty(args[0]); |             party = PartyManager.getParty(args[0]); | ||||||
|  |  | ||||||
|             if (party == null) { |             if (party == null) { | ||||||
|                 sender.sendMessage(LocaleLoader.getString("Party.InvalidName")); |                 sender.sendMessage(LocaleLoader.getString("Party.InvalidName")); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             ChatManager.handlePartyChat(mcMMO.p, party, LocaleLoader.getString("Commands.Chat.Console"), buildChatMessage(args, 1)); |             message = buildChatMessage(args, 1); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         ((PartyChatManager) chatManager).setParty(party); | ||||||
|  |         chatManager.handleChat(sender.getName(), getDisplayName(sender), message); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -28,6 +28,9 @@ import org.bukkit.inventory.ItemStack; | |||||||
|  |  | ||||||
| import com.gmail.nossr50.mcMMO; | import com.gmail.nossr50.mcMMO; | ||||||
| import com.gmail.nossr50.chat.ChatManager; | import com.gmail.nossr50.chat.ChatManager; | ||||||
|  | import com.gmail.nossr50.chat.ChatManagerFactory; | ||||||
|  | import com.gmail.nossr50.chat.ChatMode; | ||||||
|  | import com.gmail.nossr50.chat.PartyChatManager; | ||||||
| import com.gmail.nossr50.config.Config; | import com.gmail.nossr50.config.Config; | ||||||
| import com.gmail.nossr50.datatypes.party.Party; | import com.gmail.nossr50.datatypes.party.Party; | ||||||
| import com.gmail.nossr50.datatypes.player.McMMOPlayer; | import com.gmail.nossr50.datatypes.player.McMMOPlayer; | ||||||
| @@ -528,6 +531,8 @@ public class PlayerListener implements Listener { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         ChatManager chatManager = null; | ||||||
|  |  | ||||||
|         if (mcMMOPlayer.getPartyChatMode()) { |         if (mcMMOPlayer.getPartyChatMode()) { | ||||||
|             Party party = mcMMOPlayer.getParty(); |             Party party = mcMMOPlayer.getParty(); | ||||||
|  |  | ||||||
| @@ -537,11 +542,15 @@ public class PlayerListener implements Listener { | |||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             ChatManager.handlePartyChat(plugin, party, player.getName(), player.getDisplayName(), event.getMessage(), event.isAsynchronous()); |             chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY); | ||||||
|             event.setCancelled(true); |             ((PartyChatManager) chatManager).setParty(party); | ||||||
|         } |         } | ||||||
|         else if (mcMMOPlayer.getAdminChatMode()) { |         else if (mcMMOPlayer.getAdminChatMode()) { | ||||||
|             ChatManager.handleAdminChat(plugin, player.getName(), player.getDisplayName(), event.getMessage(), event.isAsynchronous()); |             chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (chatManager != null) { | ||||||
|  |             chatManager.handleChat(player, event.getMessage(), event.isAsynchronous()); | ||||||
|             event.setCancelled(true); |             event.setCancelled(true); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 GJ
					GJ