From 4cb32587ac1ff543b2efa9498f8d0d358cb90c12 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 7 May 2016 16:33:01 +1000 Subject: [PATCH] SPIGOT-2255: Nether Structure generation ConcurrentModificationException --- nms-patches/StructureGenerator.patch | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 nms-patches/StructureGenerator.patch diff --git a/nms-patches/StructureGenerator.patch b/nms-patches/StructureGenerator.patch new file mode 100644 index 0000000000..36a0ca7143 --- /dev/null +++ b/nms-patches/StructureGenerator.patch @@ -0,0 +1,38 @@ +--- a/net/minecraft/server/StructureGenerator.java ++++ b/net/minecraft/server/StructureGenerator.java +@@ -94,7 +94,7 @@ + return this.c(blockposition) != null; + } + +- protected StructureStart c(BlockPosition blockposition) { ++ protected synchronized StructureStart c(BlockPosition blockposition) { // CraftBukkit - synchronized + Iterator iterator = this.c.values().iterator(); + + while (iterator.hasNext()) { +@@ -116,7 +116,7 @@ + return null; + } + +- public boolean b(World world, BlockPosition blockposition) { ++ public synchronized boolean b(World world, BlockPosition blockposition) { // CraftBukkit - synchronized + this.a(world); + Iterator iterator = this.c.values().iterator(); + +@@ -133,7 +133,7 @@ + return true; + } + +- public BlockPosition getNearestGeneratedFeature(World world, BlockPosition blockposition) { ++ public synchronized BlockPosition getNearestGeneratedFeature(World world, BlockPosition blockposition) { // CraftBukkit - synchronized + this.g = world; + this.a(world); + this.f.setSeed(world.getSeed()); +@@ -195,7 +195,7 @@ + return null; + } + +- protected void a(World world) { ++ protected synchronized void a(World world) { // CraftBukkit - synchronized + if (this.a == null) { + this.a = (PersistentStructure) world.a(PersistentStructure.class, this.a()); + if (this.a == null) {