From 3260c592ab79a6b338f7f69712043155c3f7a7bf Mon Sep 17 00:00:00 2001 From: Tux Date: Tue, 19 Jan 2016 15:13:29 -0700 Subject: [PATCH] Micro-optimizations - PluginManager.dispatchCommand() avoids regex while splitting commands. Java 7 introduced an optimized String.split() that should be used instead (affects command dispatch). - Don't attempt to format arguments when there are none provided - Don't create a data input stream for every plugin message we get from servers diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index 8d13d49f..5643684c 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -523,7 +523,9 @@ public class BungeeCord extends ProxyServer String translation = ""; try { - translation = MessageFormat.format( customBundle != null && customBundle.containsKey( name ) ? customBundle.getString( name ) : baseBundle.getString( name ), args ); + final String string = customBundle != null && customBundle.containsKey( name ) ? customBundle.getString( name ) : baseBundle.getString( name ); + + translation = ( args.length == 0 ) ? string : MessageFormat.format( string, args ); } catch ( MissingResourceException ex ) { } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java index 99e7376b..6d5b00c2 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java @@ -243,7 +243,6 @@ public class DownstreamBridge extends PacketHandler @Override public void handle(PluginMessage pluginMessage) throws Exception { - DataInput in = pluginMessage.getStream(); PluginMessageEvent event = new PluginMessageEvent( server, con, pluginMessage.getTag(), pluginMessage.getData().clone() ); if ( bungee.getPluginManager().callEvent( event ).isCancelled() ) @@ -270,6 +269,7 @@ public class DownstreamBridge extends PacketHandler if ( pluginMessage.getTag().equals( "BungeeCord" ) ) { + DataInput in = pluginMessage.getStream(); ByteArrayDataOutput out = ByteStreams.newDataOutput(); String subChannel = in.readUTF(); -- 2.25.0