summaryrefslogtreecommitdiffstats
path: root/src/main/java/net
diff options
context:
space:
mode:
authorDavid Flemström <david.flemstrom@gmail.com>2011-02-20 13:38:27 +0100
committerErik Broes <erikbroes@grum.nl>2011-02-20 18:15:21 +0100
commit5121ebb65d6128b4c775c09943122d5b2f344e80 (patch)
tree69a66f5d7c7c5ed2e4c177ed8a5647c34cadd66a /src/main/java/net
parent09026095b69a25c59fd5b360442c7fa0bd390f4f (diff)
downloadcraftbukkit-5121ebb65d6128b4c775c09943122d5b2f344e80.tar
craftbukkit-5121ebb65d6128b4c775c09943122d5b2f344e80.tar.gz
craftbukkit-5121ebb65d6128b4c775c09943122d5b2f344e80.tar.lz
craftbukkit-5121ebb65d6128b4c775c09943122d5b2f344e80.tar.xz
craftbukkit-5121ebb65d6128b4c775c09943122d5b2f344e80.zip
Fixed issue with color markers in messages sent to the client.
This fix eliminates crashes related to color markers being at end-of-line, and also makes colors persist across line breaks. - The broadcast message is split up in multiple packets, one per line - Color markers are reorganized, so that color 'sticks across lines' - The wrapping method calculates the *rendered* line length. Thus, if the user has a weird font, it might look weird.
Diffstat (limited to 'src/main/java/net')
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index ebd28b2b..ec91edfa 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -17,6 +17,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
+import org.bukkit.craftbukkit.TextWrapper;
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Type;
import org.bukkit.event.block.BlockDamageEvent;
@@ -593,7 +594,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
// CraftBukkit end
}
}
-
+
// CraftBukkit start
public boolean chat(String msg) {
if (msg.startsWith("/")) {
@@ -608,12 +609,14 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
if (event.isCancelled()) {
return true;
}
- // CraftBukkit end
a.info(msg);
- this.d.f.a((Packet) (new Packet3Chat(msg)));
+ for (final String line: TextWrapper.wrapText(msg)) {
+ this.d.f.a((Packet) (new Packet3Chat(line)));
+ }
+ // CraftBukkit end
}
-
+
return false;
}
// CraftBukkit end