diff options
author | zml2008 <zach@zachsthings.com> | 2012-03-10 13:40:05 -0800 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-03-10 17:53:38 -0500 |
commit | 26fbd1228d2f50418126f012c26a2071b04029c1 (patch) | |
tree | 9d788230445d92a79b4710ad28727961908cc01e /src/main | |
parent | 00723dc666b429361dc7d30b715d84597bccc44a (diff) | |
download | bukkit-26fbd1228d2f50418126f012c26a2071b04029c1.tar bukkit-26fbd1228d2f50418126f012c26a2071b04029c1.tar.gz bukkit-26fbd1228d2f50418126f012c26a2071b04029c1.tar.lz bukkit-26fbd1228d2f50418126f012c26a2071b04029c1.tar.xz bukkit-26fbd1228d2f50418126f012c26a2071b04029c1.zip |
[Bleeding] Correct handling of blank lines in ChatPaginator.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/util/ChatPaginator.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/main/java/org/bukkit/util/ChatPaginator.java b/src/main/java/org/bukkit/util/ChatPaginator.java index 4afdf340..0960055a 100644 --- a/src/main/java/org/bukkit/util/ChatPaginator.java +++ b/src/main/java/org/bukkit/util/ChatPaginator.java @@ -119,20 +119,22 @@ public class ChatPaginator { if(line.length() > 0) { // Only add the last line if there is anything to add lines.add(line.toString()); } - + // Iterate over the wrapped lines, applying the last color from one line to the beginning of the next - if (lines.get(0).charAt(0) != ChatColor.COLOR_CHAR) { + if (lines.get(0).length() == 0 || lines.get(0).charAt(0) != ChatColor.COLOR_CHAR) { lines.set(0, ChatColor.WHITE + lines.get(0)); } for (int i = 1; i < lines.size(); i++) { - String pLine = lines.get(i-1); + final String pLine = lines.get(i-1); + final String subLine = lines.get(i); + char color = pLine.charAt(pLine.lastIndexOf(ChatColor.COLOR_CHAR) + 1); - if (lines.get(i).charAt(0) != ChatColor.COLOR_CHAR) { - lines.set(i, ChatColor.getByChar(color) + lines.get(i)); + if (subLine.length() == 0 || subLine.charAt(0) != ChatColor.COLOR_CHAR) { + lines.set(i, ChatColor.getByChar(color) + subLine); } } - return lines.toArray(new String[0]); + return lines.toArray(new String[lines.size()]); } public static class ChatPage { |