From dcb43ef83dd0dc8b26e9923eaeed82b659ab5780 Mon Sep 17 00:00:00 2001 From: Senmori Date: Sun, 23 Sep 2018 09:41:57 -0400 Subject: [PATCH] MC-136886: locate command loads chunks without needing to. Thanks Aikar for the report --- nms-patches/StructureGenerator.patch | 20 ++++++++++++++++++++ 1 file changed, 20 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..b2cc226f4f --- /dev/null +++ b/nms-patches/StructureGenerator.patch @@ -0,0 +1,20 @@ +--- a/net/minecraft/server/StructureGenerator.java ++++ b/net/minecraft/server/StructureGenerator.java +@@ -43,7 +43,7 @@ + StructureStart structurestart = this.a(generatoraccess, chunkgenerator, (SeededRandom) random, i2); + + if (structurestart != StructureGenerator.a && structurestart.c().a(l, i1, l + 15, i1 + 15)) { +- ((LongSet) chunkgenerator.getStructureCache(this).computeIfAbsent(j1, (i) -> { ++ ((LongSet) chunkgenerator.getStructureCache(this).computeIfAbsent(j1, (x) -> { // CraftBukkit - fix decompile error + return new LongOpenHashSet(); + })).add(i2); + generatoraccess.getChunkProvider().a(j, k, true).a(this.a(), i2); +@@ -204,7 +204,7 @@ + return structurestart; + } else { + ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i); +- IChunkAccess ichunkaccess = generatoraccess.getChunkProvider().a(chunkcoordintpair.x, chunkcoordintpair.z, false); ++ IChunkAccess ichunkaccess = generatoraccess.getChunkProvider().getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z, false, false); // CraftBukkit - don't load chunks + + if (ichunkaccess != null) { + structurestart = ichunkaccess.a(this.a());