mirror of
https://github.com/SpigotMC/BungeeCord.git
synced 2024-11-23 18:55:22 +01:00
Sometimes we need long strings
This commit is contained in:
parent
a51ce916ce
commit
a6dacb3f96
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
80
src/main/java/net/minecraft/server/Packet.java
Normal file
80
src/main/java/net/minecraft/server/Packet.java
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user