mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-29 06:05:14 +01:00
30 lines
1.5 KiB
Diff
30 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ivan Pekov <ivan@mrivanplays.com>
|
|
Date: Tue, 29 Sep 2020 19:25:49 +0300
|
|
Subject: [PATCH] Fix IndexOutOfBoundsException when sending too many changes
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMultiBlockChange.java b/src/main/java/net/minecraft/server/PacketPlayOutMultiBlockChange.java
|
|
index f260459d70053ffd17952aebf3e0410666f9bcd0..a28b6a44e744f16598419d20f4fe5d55016213e4 100644
|
|
--- a/src/main/java/net/minecraft/server/PacketPlayOutMultiBlockChange.java
|
|
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMultiBlockChange.java
|
|
@@ -20,12 +20,16 @@ public class PacketPlayOutMultiBlockChange implements Packet<PacketListenerPlayO
|
|
this.a(shortset.size());
|
|
int i = 0;
|
|
|
|
- for (ShortIterator shortiterator = shortset.iterator(); shortiterator.hasNext(); ++i) {
|
|
- short short0 = (Short) shortiterator.next();
|
|
+ // Yatopia start - fix IndexOutOfBounds exception when doing too many changes
|
|
+ ShortIterator shortiterator = shortset.iterator();
|
|
+ while (shortiterator.hasNext()) {
|
|
+ short short0 = (Short) shortiterator.nextShort();
|
|
|
|
this.b[i] = short0;
|
|
this.c[i] = (chunksection != null) ? chunksection.getType(SectionPosition.a(short0), SectionPosition.b(short0), SectionPosition.c(short0)) : Blocks.AIR.getBlockData(); // CraftBukkit - SPIGOT-6076, Mojang bug when empty chunk section notified
|
|
+ i++;
|
|
}
|
|
+ // Yatopia end
|
|
|
|
}
|
|
|