diff options
Diffstat (limited to 'src/main/java/net/minecraft')
-rw-r--r-- | src/main/java/net/minecraft/server/NetServerHandler.java | 9 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/Packet.java | 4 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/Packet3Chat.java | 38 |
3 files changed, 48 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 747c0548..12c2cd4f 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -14,6 +14,7 @@ import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.craftbukkit.CraftServer; +import org.bukkit.craftbukkit.TextWrapper; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.block.*; @@ -579,9 +580,15 @@ public class NetServerHandler extends NetHandler implements ICommandListener { if (packet instanceof Packet6SpawnPosition) { Packet6SpawnPosition packet6 = (Packet6SpawnPosition) packet; this.player.compassTarget = new Location(getPlayer().getWorld(), packet6.x, packet6.y, packet6.z); + } else if (packet instanceof Packet3Chat) { + String message = ((Packet3Chat) packet).a; + for (final String line: TextWrapper.wrapText(message)) { + this.networkManager.a(new Packet3Chat(line)); + } + packet = null; } + if (packet != null) this.networkManager.a(packet); // CraftBukkit - this.networkManager.a(packet); this.g = this.f; } diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java index ba71f4f9..116468a2 100644 --- a/src/main/java/net/minecraft/server/Packet.java +++ b/src/main/java/net/minecraft/server/Packet.java @@ -150,9 +150,9 @@ public abstract class Packet { } } - public abstract void a(DataInputStream datainputstream); + public abstract void a(DataInputStream datainputstream) throws IOException; // CraftBukkit - public abstract void a(DataOutputStream dataoutputstream); + public abstract void a(DataOutputStream dataoutputstream) throws IOException; // CraftBukkit public abstract void a(NetHandler nethandler); diff --git a/src/main/java/net/minecraft/server/Packet3Chat.java b/src/main/java/net/minecraft/server/Packet3Chat.java new file mode 100644 index 00000000..613cfcab --- /dev/null +++ b/src/main/java/net/minecraft/server/Packet3Chat.java @@ -0,0 +1,38 @@ +package net.minecraft.server; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class Packet3Chat extends Packet { + + public String a; + + public Packet3Chat() {} + + public Packet3Chat(String s) { + // CraftBukkit start - handle this later + //if (s.length() > 119) { + // s = s.substring(0, 119); + //} + // CraftBukkit end + + this.a = s; + } + + public void a(DataInputStream datainputstream) throws IOException { // CraftBukkit + this.a = a(datainputstream, 119); + } + + public void a(DataOutputStream dataoutputstream) throws IOException { // CraftBukkit + a(this.a, dataoutputstream); + } + + public void a(NetHandler nethandler) { + nethandler.a(this); + } + + public int a() { + return this.a.length(); + } +} |