Fix raids throwing an UnsupportedOperationException
This commit is contained in:
parent
dc841f3379
commit
2ff7722630
2 changed files with 30 additions and 23 deletions
|
@ -1,23 +0,0 @@
|
||||||
From c846b7f9757ee1c83c7b4aa80c3b1a1458566e67 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Shane Freeder <theboyetronic@gmail.com>
|
|
||||||
Date: Wed, 26 Jun 2019 01:20:55 +0100
|
|
||||||
Subject: [PATCH] Fix CME from raids
|
|
||||||
|
|
||||||
Use the iterator to remove elements
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Raid.java b/src/main/java/net/minecraft/server/Raid.java
|
|
||||||
index 6c1bbefd71..58c33f1000 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Raid.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Raid.java
|
|
||||||
@@ -144,7 +144,7 @@ public class Raid {
|
|
||||||
BlockPosition blockposition = new BlockPosition(entityplayer);
|
|
||||||
|
|
||||||
if (this.k.c_(blockposition) != this) {
|
|
||||||
- set.remove(entityplayer);
|
|
||||||
+ iterator.remove(); // Paper - Use iterator
|
|
||||||
this.r.removePlayer(entityplayer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
30
Spigot-Server-Patches/0407-Fix-Raids-CME.patch
Normal file
30
Spigot-Server-Patches/0407-Fix-Raids-CME.patch
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
From 96e47b61a7b56b3593c1fd8058c970ee09efb490 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Shane Freeder <theboyetronic@gmail.com>
|
||||||
|
Date: Wed, 26 Jun 2019 03:04:45 +0100
|
||||||
|
Subject: [PATCH] Fix Raids CME
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/Raid.java b/src/main/java/net/minecraft/server/Raid.java
|
||||||
|
index 6c1bbefd71..72f76d6c02 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/Raid.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/Raid.java
|
||||||
|
@@ -137,14 +137,14 @@ public class Raid {
|
||||||
|
private void y() {
|
||||||
|
Collection<EntityPlayer> collection = this.r.getPlayers();
|
||||||
|
Set<EntityPlayer> set = Sets.newHashSet(collection);
|
||||||
|
- Iterator iterator = collection.iterator();
|
||||||
|
+ Iterator iterator = set.iterator(); // Paper - use the set, this doesn't get modified out of scope
|
||||||
|
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||||
|
BlockPosition blockposition = new BlockPosition(entityplayer);
|
||||||
|
|
||||||
|
if (this.k.c_(blockposition) != this) {
|
||||||
|
- set.remove(entityplayer);
|
||||||
|
+ iterator.remove(); // Paper
|
||||||
|
this.r.removePlayer(entityplayer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.22.0
|
||||||
|
|
Loading…
Reference in a new issue