mirror of
https://github.com/PaperMC/Paper.git
synced 2025-05-19 13:40:24 -07:00
Fix a rare crash with a concurrent modification of scaled health attributes (#12002)
This commit is contained in:
parent
6b7650d81b
commit
30046e0410
@ -24,6 +24,7 @@ import java.util.Collection;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -2858,9 +2859,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|||||||
if (!this.scaledHealth && !force) {
|
if (!this.scaledHealth && !force) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (AttributeInstance genericInstance : collection) {
|
Iterator<AttributeInstance> iterator = collection.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
AttributeInstance genericInstance = iterator.next();
|
||||||
if (genericInstance.getAttribute() == Attributes.MAX_HEALTH) {
|
if (genericInstance.getAttribute() == Attributes.MAX_HEALTH) {
|
||||||
collection.remove(genericInstance);
|
iterator.remove();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user