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 | ||||
| 	// -------------------------------------------- // | ||||
|   | ||||
| @@ -30,16 +30,9 @@ public class FactionsChatEarlyListener extends PlayerListener | ||||
| 	{ | ||||
| 		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
	 
				 Brettflan
					Brettflan