diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet3Chat.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet3Chat.java index ad8b21f09..44a607387 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet3Chat.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet3Chat.java @@ -3,9 +3,11 @@ package net.md_5.bungee.protocol.packet; import io.netty.buffer.ByteBuf; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.Setter; import lombok.ToString; @Getter +@Setter @ToString @EqualsAndHashCode(callSuper = false) public class Packet3Chat extends DefinedPacket diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java index 06cb073a4..75c546a78 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -84,17 +84,15 @@ public class UpstreamBridge extends PacketHandler public void handle(Packet3Chat chat) throws Exception { ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.getMessage() ); - if ( bungee.getPluginManager().callEvent( chatEvent ).isCancelled() ) + if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() ) { - throw new CancelSendSignal(); - } - if ( chatEvent.isCommand() ) - { - if ( bungee.getPluginManager().dispatchCommand( con, chat.getMessage().substring( 1 ) ) ) + chat.setMessage( chatEvent.getMessage() ); + if ( !chatEvent.isCommand() || !bungee.getPluginManager().dispatchCommand( con, chat.getMessage().substring( 1 ) ) ) { - throw new CancelSendSignal(); + con.getServer().unsafe().sendPacket( chat ); } } + throw new CancelSendSignal(); } @Override