mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 02:53:43 +01:00 
			
		
		
		
	Admin and Party chat events
This commit is contained in:
		@@ -10,6 +10,7 @@ import org.bukkit.entity.Player;
 | 
				
			|||||||
import com.gmail.nossr50.Users;
 | 
					import com.gmail.nossr50.Users;
 | 
				
			||||||
import com.gmail.nossr50.mcPermissions;
 | 
					import com.gmail.nossr50.mcPermissions;
 | 
				
			||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
					import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.events.chat.McMMOAdminChatEvent;
 | 
				
			||||||
import com.gmail.nossr50.locale.mcLocale;
 | 
					import com.gmail.nossr50.locale.mcLocale;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class ACommand implements CommandExecutor {
 | 
					public class ACommand implements CommandExecutor {
 | 
				
			||||||
@@ -26,6 +27,13 @@ public class ACommand implements CommandExecutor {
 | 
				
			|||||||
				aMessage = aMessage + " " + args[i];
 | 
									aMessage = aMessage + " " + args[i];
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent("Console", aMessage);
 | 
				
			||||||
 | 
								Bukkit.getPluginManager().callEvent(chatEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if(chatEvent.isCancelled()) return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								aMessage = chatEvent.getMessage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE + "*Console*" + ChatColor.AQUA + "} ";
 | 
								String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE + "*Console*" + ChatColor.AQUA + "} ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			Bukkit.getLogger().info("[A]<*Console*> " + aMessage);
 | 
								Bukkit.getLogger().info("[A]<*Console*> " + aMessage);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,7 @@ import org.bukkit.entity.Player;
 | 
				
			|||||||
import com.gmail.nossr50.Users;
 | 
					import com.gmail.nossr50.Users;
 | 
				
			||||||
import com.gmail.nossr50.mcPermissions;
 | 
					import com.gmail.nossr50.mcPermissions;
 | 
				
			||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
					import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
 | 
				
			||||||
import com.gmail.nossr50.locale.mcLocale;
 | 
					import com.gmail.nossr50.locale.mcLocale;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class PCommand implements CommandExecutor {
 | 
					public class PCommand implements CommandExecutor {
 | 
				
			||||||
@@ -27,6 +28,13 @@ public class PCommand implements CommandExecutor {
 | 
				
			|||||||
				pMessage = pMessage + " " + args[i];
 | 
									pMessage = pMessage + " " + args[i];
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent("Console", args[0], pMessage);
 | 
				
			||||||
 | 
								Bukkit.getPluginManager().callEvent(chatEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if(chatEvent.isCancelled()) return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								pMessage = chatEvent.getMessage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE + "*Console*" + ChatColor.GREEN + ") ";
 | 
								String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE + "*Console*" + ChatColor.GREEN + ") ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			Bukkit.getLogger().info("[P](" + args[0] + ")" + "<*Console*> " + pMessage);
 | 
								Bukkit.getLogger().info("[P](" + args[0] + ")" + "<*Console*> " + pMessage);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					package com.gmail.nossr50.events.chat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.event.Cancellable;
 | 
				
			||||||
 | 
					import org.bukkit.event.Event;
 | 
				
			||||||
 | 
					import org.bukkit.event.HandlerList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Called when a chat is sent to the admin chat channel
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class McMMOAdminChatEvent extends Event implements Cancellable {
 | 
				
			||||||
 | 
					    private boolean cancelled;
 | 
				
			||||||
 | 
					    private String sender, message;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public McMMOAdminChatEvent(String sender, String message) {
 | 
				
			||||||
 | 
					        this.sender = sender;
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return String name of the player who sent the chat, or "Console"
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getSender() {
 | 
				
			||||||
 | 
					        return sender;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return String message that will be sent
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getMessage() {
 | 
				
			||||||
 | 
					        return message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param message String message to be sent in chat
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public void setMessage(String message) {
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** Rest of file is required boilerplate for custom events **/
 | 
				
			||||||
 | 
					    private static final HandlerList handlers = new HandlerList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public HandlerList getHandlers() {
 | 
				
			||||||
 | 
					        return handlers;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static HandlerList getHandlerList() {
 | 
				
			||||||
 | 
					        return handlers;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** Following are required for Cancellable **/
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public boolean isCancelled() {
 | 
				
			||||||
 | 
					        return cancelled;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setCancelled(boolean cancelled) {
 | 
				
			||||||
 | 
					        this.cancelled = cancelled;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					package com.gmail.nossr50.events.chat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.event.Cancellable;
 | 
				
			||||||
 | 
					import org.bukkit.event.Event;
 | 
				
			||||||
 | 
					import org.bukkit.event.HandlerList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Called when a chat is sent to a party channel
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class McMMOPartyChatEvent extends Event implements Cancellable {
 | 
				
			||||||
 | 
					    private boolean cancelled;
 | 
				
			||||||
 | 
					    private String sender, party, message;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public McMMOPartyChatEvent(String sender, String party, String message) {
 | 
				
			||||||
 | 
					        this.sender = sender;
 | 
				
			||||||
 | 
					        this.party = party;
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return String name of the player who sent the chat, or "Console"
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getSender() {
 | 
				
			||||||
 | 
					        return sender;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return String name of the party the message will be sent to
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getParty() {
 | 
				
			||||||
 | 
					        return party;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @return String message that will be sent
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getMessage() {
 | 
				
			||||||
 | 
					        return message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param message String message to be sent in chat
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public void setMessage(String message) {
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** Rest of file is required boilerplate for custom events **/
 | 
				
			||||||
 | 
					    private static final HandlerList handlers = new HandlerList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public HandlerList getHandlers() {
 | 
				
			||||||
 | 
					        return handlers;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static HandlerList getHandlerList() {
 | 
				
			||||||
 | 
					        return handlers;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** Following are required for Cancellable **/
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public boolean isCancelled() {
 | 
				
			||||||
 | 
					        return cancelled;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setCancelled(boolean cancelled) {
 | 
				
			||||||
 | 
					        this.cancelled = cancelled;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -39,6 +39,8 @@ import com.gmail.nossr50.spout.SpoutStuff;
 | 
				
			|||||||
import com.gmail.nossr50.datatypes.AbilityType;
 | 
					import com.gmail.nossr50.datatypes.AbilityType;
 | 
				
			||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
					import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
				
			||||||
import com.gmail.nossr50.datatypes.SkillType;
 | 
					import com.gmail.nossr50.datatypes.SkillType;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.events.chat.McMMOAdminChatEvent;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
 | 
				
			||||||
import com.gmail.nossr50.locale.mcLocale;
 | 
					import com.gmail.nossr50.locale.mcLocale;
 | 
				
			||||||
import com.gmail.nossr50.party.Party;
 | 
					import com.gmail.nossr50.party.Party;
 | 
				
			||||||
import com.gmail.nossr50.skills.BlastMining;
 | 
					import com.gmail.nossr50.skills.BlastMining;
 | 
				
			||||||
@@ -300,9 +302,7 @@ public class mcPlayerListener implements Listener {
 | 
				
			|||||||
        ChatColor color = null;
 | 
					        ChatColor color = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (partyChat || adminChat) {
 | 
					        if (partyChat || adminChat) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (partyChat) {
 | 
					            if (partyChat) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (!PP.inParty()) {
 | 
					                if (!PP.inParty()) {
 | 
				
			||||||
                    player.sendMessage("You're not in a party, type /p to leave party chat mode."); //TODO: Use mcLocale
 | 
					                    player.sendMessage("You're not in a party, type /p to leave party chat mode."); //TODO: Use mcLocale
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
@@ -310,6 +310,13 @@ public class mcPlayerListener implements Listener {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                color = ChatColor.GREEN;
 | 
					                color = ChatColor.GREEN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(player.getName(), PP.getParty(), event.getMessage());
 | 
				
			||||||
 | 
					                plugin.getServer().getPluginManager().callEvent(chatEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if(chatEvent.isCancelled()) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                event.setMessage(chatEvent.getMessage());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                for (Player x : plugin.getServer().getOnlinePlayers()) {
 | 
					                for (Player x : plugin.getServer().getOnlinePlayers()) {
 | 
				
			||||||
                    if (Party.getInstance().inSameParty(player, x)) {
 | 
					                    if (Party.getInstance().inSameParty(player, x)) {
 | 
				
			||||||
                        intendedRecipients.add(x);
 | 
					                        intendedRecipients.add(x);
 | 
				
			||||||
@@ -321,6 +328,14 @@ public class mcPlayerListener implements Listener {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (adminChat) {
 | 
					            if (adminChat) {
 | 
				
			||||||
                color = ChatColor.AQUA;
 | 
					                color = ChatColor.AQUA;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(player.getName(), event.getMessage());
 | 
				
			||||||
 | 
					                plugin.getServer().getPluginManager().callEvent(chatEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if(chatEvent.isCancelled()) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                event.setMessage(chatEvent.getMessage());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                for (Player x : plugin.getServer().getOnlinePlayers()) {
 | 
					                for (Player x : plugin.getServer().getOnlinePlayers()) {
 | 
				
			||||||
                    if (x.isOp() || mcPermissions.getInstance().adminChat(x)) {
 | 
					                    if (x.isOp() || mcPermissions.getInstance().adminChat(x)) {
 | 
				
			||||||
                        intendedRecipients.add(x);
 | 
					                        intendedRecipients.add(x);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user