diff --git a/src/main/java/net/md_5/bungee/UserConnection.java b/src/main/java/net/md_5/bungee/UserConnection.java index 8814ce71..0999aec6 100644 --- a/src/main/java/net/md_5/bungee/UserConnection.java +++ b/src/main/java/net/md_5/bungee/UserConnection.java @@ -79,13 +79,13 @@ public class UserConnection extends GenericConnection implements CommandSender { server = newServer; downBridge.start(); } catch (KickException ex) { - destory(ex.getMessage()); + destroySelf(ex.getMessage()); } catch (Exception ex) { - destory("Could not connect to server"); + destroySelf("Could not connect to server"); } } - private void destory(String reason) { + private void destroySelf(String reason) { if (BungeeCord.instance.isRunning) { BungeeCord.instance.connections.remove(username); } @@ -130,9 +130,9 @@ public class UserConnection extends GenericConnection implements CommandSender { server.out.write(packet); } } catch (IOException ex) { - destory("Reached end of stream"); + destroySelf("Reached end of stream"); } catch (Exception ex) { - destory(Util.exception(ex)); + destroySelf(Util.exception(ex)); } } } @@ -149,7 +149,6 @@ public class UserConnection extends GenericConnection implements CommandSender { try { while (!reconnecting) { byte[] packet = server.in.readPacket(); - boolean sendPacket = true; int id = Util.getId(packet); if (id == 0xFA) { @@ -169,13 +168,10 @@ public class UserConnection extends GenericConnection implements CommandSender { } EntityMap.rewrite(packet, serverEntityId, clientEntityId); - if (sendPacket) { - out.write(packet); - } + out.write(packet); } - } catch (IOException ex) { } catch (Exception ex) { - destory(Util.exception(ex)); + destroySelf(Util.exception(ex)); } } } diff --git a/src/main/java/net/md_5/bungee/Util.java b/src/main/java/net/md_5/bungee/Util.java index 3979ebae..2b3277b3 100644 --- a/src/main/java/net/md_5/bungee/Util.java +++ b/src/main/java/net/md_5/bungee/Util.java @@ -71,6 +71,6 @@ public class Util { * @return a string representing information about the {@link Throwable} */ public static String exception(Throwable t) { - return t.getClass().getSimpleName() + " : " + t.getMessage() + " @ " + t.getStackTrace()[0].getFileName() + ":" + t.getStackTrace()[0].getLineNumber(); + return t.getClass().getSimpleName() + " : " + t.getMessage() + " @ " + t.getStackTrace()[0].getClassName() + ":" + t.getStackTrace()[0].getLineNumber(); } } diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java new file mode 100644 index 00000000..90ce1d81 --- /dev/null +++ b/src/main/java/net/minecraft/server/Packet.java @@ -0,0 +1,80 @@ +package net.minecraft.server; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public abstract class Packet { + + public boolean lowPriority = false; + + public static void a(DataOutputStream dataoutputstream, byte[] abyte) throws IOException { + dataoutputstream.writeShort(abyte.length); + dataoutputstream.write(abyte); + } + + public static byte[] b(DataInputStream datainputstream) throws IOException { + short short1 = datainputstream.readShort(); + + if (short1 < 0) { + throw new IOException("Key was smaller than nothing! Weird key!"); + } else { + byte[] abyte = new byte[short1]; + + datainputstream.read(abyte); + return abyte; + } + } + + public static String a(DataInputStream datainputstream, int i) throws IOException { + short short1 = datainputstream.readShort(); + + if (short1 < 0) { + throw new IOException("Received string length is less than zero! Weird string!"); + } else { + StringBuilder stringbuilder = new StringBuilder(); + + for (int j = 0; j < short1; ++j) { + stringbuilder.append(datainputstream.readChar()); + } + + return stringbuilder.toString(); + } + } + + public abstract void a(DataInputStream datainputstream); + + public abstract void a(DataOutputStream dataoutputstream); + + public abstract void handle(NetHandler nethandler); + + public abstract int a(); + + public static ItemStack c(DataInputStream datainputstream) throws IOException { + ItemStack itemstack = null; + short short1 = datainputstream.readShort(); + + if (short1 >= 0) { + byte b0 = datainputstream.readByte(); + short short2 = datainputstream.readShort(); + + itemstack = new ItemStack(short1, b0, short2); + itemstack.tag = d(datainputstream); + } + + return itemstack; + } + + public static NBTTagCompound d(DataInputStream datainputstream) throws IOException { + short short1 = datainputstream.readShort(); + + if (short1 < 0) { + return null; + } else { + byte[] abyte = new byte[short1]; + + datainputstream.readFully(abyte); + return NBTCompressedStreamTools.a(abyte); + } + } +}