fix for factions-specific commands not being prevented properly if they were in "territoryNeutralDenyCommands" or "territoryEnemyDenyCommands"
also got rid of a command preprocess listener which is now unnecessary
This commit is contained in:
		@@ -9,6 +9,7 @@ import java.util.Set;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.command.CommandSender;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.Event;
 | 
			
		||||
import org.bukkit.event.player.PlayerChatEvent;
 | 
			
		||||
@@ -112,7 +113,6 @@ public class P extends MPlugin
 | 
			
		||||
		// Player Events
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_CHAT, this.playerListener, Event.Priority.Highest);
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_CHAT, this.chatEarlyListener, Event.Priority.Lowest);
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, this.playerListener, Event.Priority.Normal);
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_INTERACT, this.playerListener, Event.Priority.Normal);
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_MOVE, this.playerListener, Event.Priority.Normal);
 | 
			
		||||
		this.registerEvent(Event.Type.PLAYER_JOIN, this.playerListener, Event.Priority.Normal);
 | 
			
		||||
@@ -182,6 +182,14 @@ public class P extends MPlugin
 | 
			
		||||
		Conf.save();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean handleCommand(CommandSender sender, String commandString, boolean testOnly)
 | 
			
		||||
	{
 | 
			
		||||
		if (sender instanceof Player && FactionsPlayerListener.preventCommand(commandString, (Player)sender)) return true;
 | 
			
		||||
 | 
			
		||||
		return super.handleCommand(sender, commandString, testOnly);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// -------------------------------------------- //
 | 
			
		||||
	// Integration with other plugins
 | 
			
		||||
	// -------------------------------------------- //
 | 
			
		||||
 
 | 
			
		||||
@@ -29,17 +29,10 @@ public class FactionsChatEarlyListener extends PlayerListener
 | 
			
		||||
	public void onPlayerChat(PlayerChatEvent event)
 | 
			
		||||
	{
 | 
			
		||||
		if (event.isCancelled()) return;
 | 
			
		||||
		
 | 
			
		||||
		if (p.handleCommand(event.getPlayer(), event.getMessage()))
 | 
			
		||||
		{
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		Player talkingPlayer = event.getPlayer();
 | 
			
		||||
		String msg = event.getMessage();
 | 
			
		||||
		
 | 
			
		||||
		// ... it was not a command. This means that it is a chat message!
 | 
			
		||||
 | 
			
		||||
		FPlayer me = FPlayers.i.get(talkingPlayer);
 | 
			
		||||
		
 | 
			
		||||
		// Is it a faction chat message?
 | 
			
		||||
 
 | 
			
		||||
@@ -314,17 +314,6 @@ public class FactionsPlayerListener extends PlayerListener
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
 | 
			
		||||
	{
 | 
			
		||||
		if (event.isCancelled()) return;
 | 
			
		||||
 | 
			
		||||
		if (preventCommand(event.getMessage().toLowerCase(), event.getPlayer()))
 | 
			
		||||
		{
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static boolean preventCommand(String fullCmd, Player player)
 | 
			
		||||
	{
 | 
			
		||||
		if ((Conf.territoryNeutralDenyCommands.isEmpty() && Conf.territoryEnemyDenyCommands.isEmpty()))
 | 
			
		||||
@@ -340,7 +329,14 @@ public class FactionsPlayerListener extends PlayerListener
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		String shortCmd = fullCmd.substring(1);	// Get rid of the slash at the beginning
 | 
			
		||||
		String shortCmd;  // command without the slash at the beginning
 | 
			
		||||
		if (fullCmd.startsWith("/"))
 | 
			
		||||
			shortCmd = fullCmd.substring(1);
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			shortCmd = fullCmd;
 | 
			
		||||
			fullCmd = "/" + fullCmd;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if
 | 
			
		||||
		(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user