Fix issue #129 - make chat event fire for commands, and add isCommand method.

This commit is contained in:
md_5 2013-03-12 15:15:25 +11:00
parent fea3642550
commit 92c1450909
2 changed files with 16 additions and 8 deletions

View File

@ -30,4 +30,14 @@ public class ChatEvent extends TargetedEvent implements Cancellable
super( sender, receiver ); super( sender, receiver );
this.message = message; this.message = message;
} }
/**
* Checks whether this message is valid as a command
*
* @return if this message is a command
*/
public boolean isCommand()
{
return message.charAt( 0 ) == '/';
}
} }

View File

@ -67,19 +67,17 @@ public class UpstreamBridge extends PacketHandler
@Override @Override
public void handle(Packet3Chat chat) throws Exception public void handle(Packet3Chat chat) throws Exception
{ {
if ( chat.message.charAt( 0 ) == '/' ) ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.message );
if ( bungee.getPluginManager().callEvent( chatEvent ).isCancelled() )
{
throw new CancelSendSignal();
}
if ( chatEvent.isCommand() )
{ {
if ( bungee.getPluginManager().dispatchCommand( con, chat.message.substring( 1 ) ) ) if ( bungee.getPluginManager().dispatchCommand( con, chat.message.substring( 1 ) ) )
{ {
throw new CancelSendSignal(); throw new CancelSendSignal();
} }
} else
{
ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.message );
if ( bungee.getPluginManager().callEvent( chatEvent ).isCancelled() )
{
throw new CancelSendSignal();
}
} }
} }