@Override public void handle(Chat chat) throws Exception { int maxLength = ( con.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_11 ) ? 256 : 100; Preconditions.checkArgument( chat.getMessage().length() <= maxLength, "Chat message too long" ); // Mojang limit, check on updates ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.getMessage() ); if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() ) { chat.setMessage( chatEvent.getMessage() ); if ( !chatEvent.isCommand() || !bungee.getPluginManager().dispatchCommand( con, chat.getMessage().substring( 1 ) ) ) { con.getServer().unsafe().sendPacket( chat ); } } throw CancelSendSignal.INSTANCE; }
/** * Checks whether this message is run on this proxy server. * * @return if this command runs on the proxy * @see PluginManager#isExecutableCommand(java.lang.String, net.md_5.bungee.api.CommandSender) */ public boolean isProxyCommand() { if ( !isCommand() ) { return false; } int index = message.indexOf( " " ); String commandName = ( index == -1 ) ? message.substring( 1 ) : message.substring( 1, index ); CommandSender sender = ( getSender() instanceof CommandSender ) ? (CommandSender) getSender() : null; return ProxyServer.getInstance().getPluginManager().isExecutableCommand( commandName, sender ); } }
@EventHandler public void onChat(ChatEvent event) { if (!(event.getSender() instanceof ProxiedPlayer)) { return; } if (!event.isCommand()) { if (Universal.get().getMethods().callChat(event.getSender())) { event.setCancelled(true); } } else { if (Universal.get().getMethods().callCMD(event.getSender(), event.getMessage())) { event.setCancelled(true); } } }
@EventHandler public void handleChat(ChatEvent e) { if (e.getMessage().startsWith(NetworkUtils.SLASH_STRING)) { if (e.getSender() instanceof ProxiedPlayer) CloudAPI.getInstance().getNetworkConnection().sendPacket(new PacketOutCommandExecute(new PlayerCommandExecution(((ProxiedPlayer) e.getSender()).getName(), e.getMessage()))); } }
@Override public void handle(Chat chat) throws Exception { Preconditions.checkArgument( chat.getMessage().length() <= 100, "Chat message too long" ); // Mojang limit, check on updates Preconditions.checkArgument(!StringUtil.isBlank(chat.getMessage()), "Chat message is empty"); ServerConnection server = con.getServer(); // if we're still connecting just ignore this packet if ( server == null ) { throw CancelSendSignal.INSTANCE; } ChatEvent chatEvent = new ChatEvent( con, server, chat.getMessage() ); if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() ) { chat.setMessage( chatEvent.getMessage() ); if ( !chatEvent.isCommand() || !bungee.getPluginManager().dispatchCommand( con, chat.getMessage().substring( 1 ) ) ) { server.unsafe().sendPacket( chat ); } } throw CancelSendSignal.INSTANCE; }