ForgePatch/patches/minecraft/net/minecraft/network/rcon/ClientThread.java.patch

23 lines
786 B
Diff

--- a/net/minecraft/network/rcon/ClientThread.java
+++ b/net/minecraft/network/rcon/ClientThread.java
@@ -116,13 +116,14 @@
}
private void func_72655_a(int p_72655_1_, String p_72655_2_) throws IOException {
- int i = p_72655_2_.length();
-
+ byte[] whole = p_72655_2_.getBytes(StandardCharsets.UTF_8);
+ int i = whole.length;
+ int start = 0;
do {
int j = 4096 <= i ? 4096 : i;
- this.func_72654_a(p_72655_1_, 0, p_72655_2_.substring(0, j));
- p_72655_2_ = p_72655_2_.substring(j);
- i = p_72655_2_.length();
+ this.func_72654_a(p_72655_1_, 0, new String(java.util.Arrays.copyOfRange(whole, start, j+start), StandardCharsets.UTF_8));
+ i -= j;
+ start += j;
} while(0 != i);
}