PaperMC/CraftBukkit-Patches/0105-Fix-ConcurrentModificationException-while-being-idle.patch
Zach Brown cab333b217 Rebase (Update) from upstream SpigotMC
Don't send requests of every player was found in the global api cache SpigotMC/Spigot@841270ff1e
Correctly set the response code for the cached lookups and return the ... SpigotMC/Spigot@f170b7899c
Don't try and re-set the global api cache on reload SpigotMC/Spigot@b410a00a66
Use a compile time sneaky throw hack. SpigotMC/Spigot@508462b96b
Fix a missed rename in WorldGenGroundBush SpigotMC/Spigot@0614d8fae9
2014-11-28 14:19:07 -06:00

54 lines
1.9 KiB
Diff

From 5710f95fbc5d66e22cd1054c6ffb22f5551e8cbf Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Tue, 14 Jan 2014 20:11:25 +0000
Subject: [PATCH] Fix ConcurrentModificationException while being idle kicked
in a vehicle
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d5d5f9d..554023a 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1131,23 +1131,24 @@ public abstract class World implements IBlockAccess {
this.players.remove(entity);
this.everyoneSleeping();
}
-
- int i = entity.ah;
- int j = entity.aj;
-
- if (entity.ag && this.isChunkLoaded(i, j)) {
- this.getChunkAt(i, j).b(entity);
- }
-
- // CraftBukkit start - Decrement loop variable field if we've already ticked this entity
- int index = this.entityList.indexOf(entity);
- if (index != -1) {
- if (index <= this.tickPosition) {
- this.tickPosition--;
+ // Spigot start
+ if (!guardEntityList) { // It will get removed after the tick if we are ticking
+ int i = entity.ah;
+ int j = entity.aj;
+ if (entity.ag && this.isChunkLoaded(i, j)) {
+ this.getChunkAt(i, j).b(entity);
}
- this.entityList.remove(index);
+ // CraftBukkit start - Decrement loop variable field if we've already ticked this entity
+ int index = this.entityList.indexOf(entity);
+ if (index != -1) {
+ if (index <= this.tickPosition) {
+ this.tickPosition--;
+ }
+ this.entityList.remove(index);
+ }
+ // CraftBukkit end
}
- // CraftBukkit end
+ // Spigot end
this.b(entity);
}
--
1.9.1