diff --git a/Spigot-Server-Patches/0028-Lighting-Queue.patch b/Spigot-Server-Patches/0028-Lighting-Queue.patch index 1306b36af3..0b220ca90e 100644 --- a/Spigot-Server-Patches/0028-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0028-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From 91e45fcf2bf47bd1fedb7a09c7e0e1f14a1230bf Mon Sep 17 00:00:00 2001 +From 1564084393d4718d099082ea434dd8f2b1a0b53a Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -6,7 +6,7 @@ Subject: [PATCH] Lighting Queue This provides option to queue lighting updates to ensure they do not cause the server lag diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java -index e0ad559b7..4eebd9fae 100644 +index e0ad559b..4eebd9fa 100644 --- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -49,6 +49,8 @@ public class WorldTimingsHandler { @@ -27,7 +27,7 @@ index e0ad559b7..4eebd9fae 100644 } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index e524a464f..fd606ee14 100644 +index e524a464..fd606ee1 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -143,4 +143,10 @@ public class PaperWorldConfig { @@ -42,7 +42,7 @@ index e524a464f..fd606ee14 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a4b7d0176..6def9debe 100644 +index 66c78083..c1f25e8d 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -33,6 +33,7 @@ public class Chunk { @@ -57,7 +57,7 @@ index a4b7d0176..6def9debe 100644 private void h(boolean flag) { this.world.methodProfiler.a("recheckGaps"); if (this.world.areChunksLoaded(new BlockPosition(this.locX * 16 + 8, 0, this.locZ * 16 + 8), 16)) { -+ lightingQueue.add(() -> recheckGaps(flag)); // Paper - Queue light update ++ this.runOrQueueLightUpdate(() -> recheckGaps(flag)); // Paper - Queue light update + } + } + @@ -67,16 +67,15 @@ index a4b7d0176..6def9debe 100644 for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { if (this.i[i + j * 16]) { -@@ -481,7 +489,7 @@ public class Chunk { - } else { +@@ -482,6 +490,7 @@ public class Chunk { if (flag) { this.initLighting(); -- } else { -+ } else { lightingQueue.add(() -> { // Paper - Queue light update + } else { ++ this.runOrQueueLightUpdate(() -> { // Paper - Queue light update int j1 = iblockdata.c(); int k1 = iblockdata1.c(); -@@ -496,6 +504,7 @@ public class Chunk { +@@ -496,6 +505,7 @@ public class Chunk { if (j1 != k1 && (j1 < k1 || this.getBrightness(EnumSkyBlock.SKY, blockposition) > 0 || this.getBrightness(EnumSkyBlock.BLOCK, blockposition) > 0)) { this.d(i, k); } @@ -84,8 +83,25 @@ index a4b7d0176..6def9debe 100644 } TileEntity tileentity; +@@ -1340,6 +1350,16 @@ public class Chunk { + this.w = i; + } + ++ // Paper start ++ public void runOrQueueLightUpdate(Runnable runnable) { ++ if (this.world.paperConfig.queueLightUpdates) { ++ lightingQueue.add(runnable); ++ } else { ++ runnable.run(); ++ } ++ } ++ // Paper end ++ + public static enum EnumTileEntityState { + + IMMEDIATE, QUEUED, CHECK; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 024ea5912..ae527d527 100644 +index 69ded6aa..e9bc23a6 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -295,6 +295,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -97,7 +113,7 @@ index 024ea5912..ae527d527 100644 // Update neighbor counts for (int x = -2; x < 3; x++) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f4d0e2678..5b0431c57 100644 +index 47fe9262..d63a243f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -722,7 +722,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -119,10 +135,10 @@ index f4d0e2678..5b0431c57 100644 } diff --git a/src/main/java/net/minecraft/server/PaperLightingQueue.java b/src/main/java/net/minecraft/server/PaperLightingQueue.java new file mode 100644 -index 000000000..d8d3e1efd +index 00000000..345cd582 --- /dev/null +++ b/src/main/java/net/minecraft/server/PaperLightingQueue.java -@@ -0,0 +1,101 @@ +@@ -0,0 +1,92 @@ +package net.minecraft.server; + +import co.aikar.timings.Timing; @@ -164,15 +180,6 @@ index 000000000..d8d3e1efd + this.chunk = chunk; + } + -+ @Override -+ public boolean add(Runnable runnable) { -+ if (chunk.world.paperConfig.queueLightUpdates) { -+ return super.add(runnable); -+ } -+ runnable.run(); -+ return true; -+ } -+ + /** + * Processes the lighting queue for this chunk + * @@ -225,7 +232,7 @@ index 000000000..d8d3e1efd + } +} diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c25e65428..763f21570 100644 +index fd5f8102..77ed2d24 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -391,7 +391,7 @@ public abstract class World implements IBlockAccess { @@ -233,10 +240,10 @@ index c25e65428..763f21570 100644 if (iblockdata.c() != iblockdata1.c() || iblockdata.d() != iblockdata1.d()) { this.methodProfiler.a("checkLight"); - this.w(blockposition); -+ chunk.lightingQueue.add(() -> this.w(blockposition)); // Paper - Queue light update ++ chunk.runOrQueueLightUpdate(() -> this.w(blockposition)); // Paper - Queue light update this.methodProfiler.b(); } -- -2.13.4 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0052-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0052-Avoid-hopper-searches-if-there-are-no-items.patch index cfa611bb17..2a651094c7 100644 --- a/Spigot-Server-Patches/0052-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0052-Avoid-hopper-searches-if-there-are-no-items.patch @@ -1,4 +1,4 @@ -From 0c1ce95af25b8c95b34c255e9c0a440d64a100d7 Mon Sep 17 00:00:00 2001 +From 629064b222df6125fa3e161bdafa5746ba9b467e Mon Sep 17 00:00:00 2001 From: CullanP Date: Thu, 3 Mar 2016 02:13:38 -0600 Subject: [PATCH] Avoid hopper searches if there are no items @@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear Combined, this adds up a lot. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b80f95159..e1fc4ea6c 100644 +index c1f25e8d..2a1c11a0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -47,6 +47,13 @@ public class Chunk { @@ -31,7 +31,7 @@ index b80f95159..e1fc4ea6c 100644 // CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking private int neighbors = 0x1 << 12; public long chunkKey; -@@ -618,6 +625,13 @@ public class Chunk { +@@ -619,6 +626,13 @@ public class Chunk { entity.ac = k; entity.ad = this.locZ; this.entitySlices[k].add(entity); @@ -45,7 +45,7 @@ index b80f95159..e1fc4ea6c 100644 // Spigot start - increment creature type count // Keep this synced up with World.a(Class) if (entity instanceof EntityInsentient) { -@@ -650,6 +664,13 @@ public class Chunk { +@@ -651,6 +665,13 @@ public class Chunk { } this.entitySlices[i].remove(entity); @@ -59,7 +59,7 @@ index b80f95159..e1fc4ea6c 100644 // Spigot start - decrement creature type count // Keep this synced up with World.a(Class) if (entity instanceof EntityInsentient) { -@@ -841,6 +862,15 @@ public class Chunk { +@@ -842,6 +863,15 @@ public class Chunk { if (!this.entitySlices[k].isEmpty()) { Iterator iterator = this.entitySlices[k].iterator(); @@ -75,7 +75,7 @@ index b80f95159..e1fc4ea6c 100644 while (iterator.hasNext()) { Entity entity1 = (Entity) iterator.next(); -@@ -877,7 +907,18 @@ public class Chunk { +@@ -878,7 +908,18 @@ public class Chunk { i = MathHelper.clamp(i, 0, this.entitySlices.length - 1); j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); @@ -95,5 +95,5 @@ index b80f95159..e1fc4ea6c 100644 while (iterator.hasNext()) { -- -2.12.2.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch index 6d671fe115..e4843c5469 100644 --- a/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0061-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From b2d4ae07752d89d22e2ccabc3d2aed3990e9dd81 Mon Sep 17 00:00:00 2001 +From a9e8dac195aef49744961d9c9edaab6cd1de17b3 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 000000000..93397188b +index 00000000..93397188 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -50,7 +50,7 @@ index 000000000..93397188b +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b815acd3e..2a8393dcb 100644 +index 2a1c11a0..cc4a9dbe 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -68,7 +68,7 @@ index b815acd3e..2a8393dcb 100644 public class Chunk { -@@ -757,10 +759,15 @@ public class Chunk { +@@ -758,10 +760,15 @@ public class Chunk { this.tileEntities.remove(blockposition); // Paper end } else { @@ -89,7 +89,7 @@ index b815acd3e..2a8393dcb 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index e9bc23a6f..4e51585a1 100644 +index e9bc23a6..4e51585a 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -12,6 +12,7 @@ import java.util.Iterator; @@ -144,7 +144,7 @@ index e9bc23a6f..4e51585a1 100644 } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 83322b85b..b943a9b20 100644 +index 83322b85..b943a9b2 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,7 @@ @@ -172,7 +172,7 @@ index 83322b85b..b943a9b20 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java -index 936d6c640..50056f49a 100644 +index 936d6c64..50056f49 100644 --- a/src/main/java/net/minecraft/server/PersistentCollection.java +++ b/src/main/java/net/minecraft/server/PersistentCollection.java @@ -1,5 +1,6 @@ @@ -199,7 +199,7 @@ index 936d6c640..50056f49a 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 1ba26de5c..6a92b5af8 100644 +index 1ba26de5..6a92b5af 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -226,7 +226,7 @@ index 1ba26de5c..6a92b5af8 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index c15a0d1f8..5f9e9ddef 100644 +index c15a0d1f..5f9e9dde 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -1,5 +1,6 @@ @@ -245,7 +245,7 @@ index c15a0d1f8..5f9e9ddef 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 1c7c187c7..68a045323 100644 +index 1c7c187c..68a04532 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -7,6 +7,7 @@ import java.util.Random; @@ -273,7 +273,7 @@ index 1c7c187c7..68a045323 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index 9ff4f23ab..6fce3015f 100644 +index 9ff4f23a..6fce3015 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -293,7 +293,7 @@ index 9ff4f23ab..6fce3015f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b814d965e..550d916ce 100644 +index 89197281..6be9c181 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -329,7 +329,7 @@ index b814d965e..550d916ce 100644 this.tileEntityListTick.remove(tileTickPosition--); continue; diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index d50bbd2a6..bce411288 100644 +index d50bbd2a..bce41128 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -15,6 +15,9 @@ import java.util.concurrent.atomic.AtomicReference; @@ -373,5 +373,5 @@ index d50bbd2a6..bce411288 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.15.1 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0075-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0075-Add-World-Util-Methods.patch index 4af2249778..582ea18fc4 100644 --- a/Spigot-Server-Patches/0075-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0075-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 514130481f7133c11f95558ccfa0c017558d9770 Mon Sep 17 00:00:00 2001 +From 722ea2a8bface335c87958b7c9337c9e96000c81 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 33737af78..1a77dfe4e 100644 +index cc4a9dbe..84a88056 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -580,6 +580,7 @@ public class Chunk { +@@ -581,6 +581,7 @@ public class Chunk { } @@ -18,7 +18,7 @@ index 33737af78..1a77dfe4e 100644 int j = blockposition.getX() & 15; int k = blockposition.getY(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 22497993c..557660163 100644 +index 6be9c181..9339bf83 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -77,7 +77,7 @@ public abstract class World implements IBlockAccess { @@ -119,5 +119,5 @@ index 22497993c..557660163 100644 // CraftBukkit start - tree generation if (captureTreeGeneration) { -- -2.13.3.windows.1 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0082-Waving-banner-workaround.patch b/Spigot-Server-Patches/0082-Waving-banner-workaround.patch index e71851c1b4..713e950814 100644 --- a/Spigot-Server-Patches/0082-Waving-banner-workaround.patch +++ b/Spigot-Server-Patches/0082-Waving-banner-workaround.patch @@ -1,4 +1,4 @@ -From f232c0220c8e33143f2c82cb67e8645356e4ab20 Mon Sep 17 00:00:00 2001 +From 76a5db0ee94c7fb95adac70a4b0a1716cf7c87a9 Mon Sep 17 00:00:00 2001 From: Gabscap Date: Sat, 19 Mar 2016 22:25:11 +0100 Subject: [PATCH] Waving banner workaround @@ -34,5 +34,5 @@ index c5c3f40c..6413f76e 100644 public void a(PacketDataSerializer packetdataserializer) throws IOException { -- -2.13.1.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0093-Configurable-Chunk-Inhabited-Timer.patch b/Spigot-Server-Patches/0093-Configurable-Chunk-Inhabited-Timer.patch index 11741e4512..ad4836a415 100644 --- a/Spigot-Server-Patches/0093-Configurable-Chunk-Inhabited-Timer.patch +++ b/Spigot-Server-Patches/0093-Configurable-Chunk-Inhabited-Timer.patch @@ -1,4 +1,4 @@ -From 1875459e0b11e6b9611b7e55e64b4c2508a60072 Mon Sep 17 00:00:00 2001 +From 85af59e5efe9dc63852fd38624fae257d95cdc56 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:46:14 -0400 Subject: [PATCH] Configurable Chunk Inhabited Timer @@ -23,10 +23,10 @@ index e706efff..2c682ccf 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7eb8deb2..32166ee8 100644 +index 172d00bd..300a5619 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1407,7 +1407,7 @@ public class Chunk { +@@ -1408,7 +1408,7 @@ public class Chunk { } public long x() { @@ -36,5 +36,5 @@ index 7eb8deb2..32166ee8 100644 public void c(long i) { -- -2.13.1.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0114-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch b/Spigot-Server-Patches/0114-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch index d5a9e95d5f..e536ce6ebb 100644 --- a/Spigot-Server-Patches/0114-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch +++ b/Spigot-Server-Patches/0114-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch @@ -1,4 +1,4 @@ -From 6451b52e836abb928f24aad8dda1a7fa68f7107e Mon Sep 17 00:00:00 2001 +From 36f81b84e0a48db88becd763857034391bce22d9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 14 Apr 2016 21:01:39 -0400 Subject: [PATCH] Fix Bugs with Spigot Mob Spawn Logic @@ -14,10 +14,10 @@ Specially with servers using smaller mob spawn ranges than view distance, as wel This patch returns mob counting to use all loaded chunks, and 17x17 division. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 32166ee8..02aeef54 100644 +index 300a5619..ecc76a88 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -682,7 +682,7 @@ public class Chunk { +@@ -683,7 +683,7 @@ public class Chunk { i = this.entitySlices.length - 1; } @@ -56,5 +56,5 @@ index 45a83ae9..2cd06382 100644 Iterator iterator1 = this.b.iterator(); -- -2.13.1.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0129-Do-not-mark-chunks-as-active-for-neighbor-updates.patch b/Spigot-Server-Patches/0129-Do-not-mark-chunks-as-active-for-neighbor-updates.patch index 193f0bcb3f..2a5d87eacb 100644 --- a/Spigot-Server-Patches/0129-Do-not-mark-chunks-as-active-for-neighbor-updates.patch +++ b/Spigot-Server-Patches/0129-Do-not-mark-chunks-as-active-for-neighbor-updates.patch @@ -1,4 +1,4 @@ -From 5f7b9ff421c563a1006b28c791ad548fdad2f28d Mon Sep 17 00:00:00 2001 +From 73859b56033285cbe25838550eea43ef5b6112ea Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 01:55:17 -0400 Subject: [PATCH] Do not mark chunks as active for neighbor updates @@ -6,10 +6,10 @@ Subject: [PATCH] Do not mark chunks as active for neighbor updates Fixes chunk unload issues diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 02aeef54..d662a5a2 100644 +index ecc76a88..f1bcdef5 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1006,25 +1006,25 @@ public class Chunk { +@@ -1007,25 +1007,25 @@ public class Chunk { // CraftBukkit end world.timings.syncChunkLoadPostTimer.stopTiming(); // Paper world.timings.syncChunkLoadPopulateNeighbors.startTiming(); // Paper @@ -44,5 +44,5 @@ index 02aeef54..d662a5a2 100644 if (chunk4 != null) { chunk4.a(chunkgenerator); -- -2.13.1.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0155-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0155-Auto-Save-Improvements.patch index 380b6c3b82..3d827e615d 100644 --- a/Spigot-Server-Patches/0155-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0155-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From c71fcf67f2672505bcdba3ec19a1e51421b00e70 Mon Sep 17 00:00:00 2001 +From e4a5cc333ba15d9aecec76562062dfa20617fa61 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and Adds incremental player auto saving too diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 621c585e7..da0984a35 100644 +index 621c585e..da0984a3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -251,4 +251,9 @@ public class PaperConfig { @@ -26,7 +26,7 @@ index 621c585e7..da0984a35 100644 + } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index cec9ea74c..39f8a0a2c 100644 +index cec9ea74..39f8a0a2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -58,10 +58,10 @@ index cec9ea74c..39f8a0a2c 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a0b5cd56b..f98d380f6 100644 +index 8ec26b97..87730aec 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -962,11 +962,9 @@ public class Chunk { +@@ -963,11 +963,9 @@ public class Chunk { if (this.t && this.world.getTime() != this.lastSaved || this.s) { return true; } @@ -76,7 +76,7 @@ index a0b5cd56b..f98d380f6 100644 public Random a(long i) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a01356ccc..08bc8c928 100644 +index 0adfcaa8..9e8f67ff 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -1,5 +1,6 @@ @@ -96,7 +96,7 @@ index a01356ccc..08bc8c928 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ed4fc3096..299b1df9e 100644 +index b937b6d0..ef081a57 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -32,6 +32,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -108,7 +108,7 @@ index ed4fc3096..299b1df9e 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9e43646eb..86eac80a1 100644 +index ab793307..5c09c6ff 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -119,6 +119,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -155,7 +155,7 @@ index 9e43646eb..86eac80a1 100644 this.methodProfiler.a("tallying"); // Spigot start diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 30ca137e6..953e5f901 100644 +index 30ca137e..953e5f90 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -343,6 +343,7 @@ public abstract class PlayerList { @@ -192,7 +192,7 @@ index 30ca137e6..953e5f901 100644 public void addWhitelist(GameProfile gameprofile) { this.whitelist.add(new WhiteListEntry(gameprofile)); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 3865b31cb..87a95857c 100644 +index f2ddc22d..8493dcce 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1050,8 +1050,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -215,5 +215,5 @@ index 3865b31cb..87a95857c 100644 timings.worldSaveChunks.startTiming(); // Paper chunkproviderserver.a(flag); -- -2.13.4 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0161-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0161-Option-to-remove-corrupt-tile-entities.patch index 9876fbf4fe..857294de4b 100644 --- a/Spigot-Server-Patches/0161-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0161-Option-to-remove-corrupt-tile-entities.patch @@ -1,4 +1,4 @@ -From ab2977d788287170bd54ff9394882fef9816fab5 Mon Sep 17 00:00:00 2001 +From 0935daa9352d7d6e412b3033ad61566161dae70d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities @@ -19,10 +19,10 @@ index 39f8a0a2..efae01b1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f98d380f..ed595955 100644 +index 87730aec..1d056031 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -785,11 +785,17 @@ public class Chunk { +@@ -786,11 +786,17 @@ public class Chunk { "Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); @@ -41,5 +41,5 @@ index f98d380f..ed595955 100644 if (this.j) { TileEntity tileentity = (TileEntity) this.tileEntities.remove(blockposition); -- -2.13.1.windows.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0187-Activation-Range-Improvements.patch b/Spigot-Server-Patches/0187-Activation-Range-Improvements.patch index f8ce9525ed..ba73cf1390 100644 --- a/Spigot-Server-Patches/0187-Activation-Range-Improvements.patch +++ b/Spigot-Server-Patches/0187-Activation-Range-Improvements.patch @@ -1,4 +1,4 @@ -From 33f96c9d29daf8d704163555175bceb3bddb6d69 Mon Sep 17 00:00:00 2001 +From 3271414d04333646dc6cb277c20b6db84ee420f6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 22:38:06 -0500 Subject: [PATCH] Activation Range Improvements @@ -6,7 +6,7 @@ Subject: [PATCH] Activation Range Improvements Fixes and adds new Immunities to improve gameplay behavior diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index 0c82c6f5b..9659a45ef 100644 +index 0c82c6f5..9659a45e 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -10,6 +10,7 @@ public abstract class EntityCreature extends EntityInsentient { @@ -18,7 +18,7 @@ index 0c82c6f5b..9659a45ef 100644 private float b; private final float c; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3086a36f9..b437ebf26 100644 +index 20aac1f3..650e549b 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -73,7 +73,7 @@ public abstract class EntityLiving extends Entity { @@ -31,7 +31,7 @@ index 3086a36f9..b437ebf26 100644 protected int ticksFarFromPlayer; protected float aW; diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index dbda68dd0..af49b7273 100644 +index dbda68dd..af49b727 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -363,6 +363,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -43,7 +43,7 @@ index dbda68dd0..af49b7273 100644 return this.bL != null; } diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java -index 83d9c43f3..1cb6652c2 100644 +index 83d9c43f..1cb6652c 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoal.java +++ b/src/main/java/net/minecraft/server/PathfinderGoal.java @@ -18,7 +18,10 @@ public abstract class PathfinderGoal { @@ -59,7 +59,7 @@ index 83d9c43f3..1cb6652c2 100644 public void e() {} diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java -index e5b5e9887..e3781f3a8 100644 +index e5b5e988..e3781f3a 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java @@ -2,12 +2,21 @@ package net.minecraft.server; @@ -96,7 +96,7 @@ index e5b5e9887..e3781f3a8 100644 } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 47865c027..b08564618 100644 +index 47865c02..b0856461 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -20,6 +20,7 @@ import net.minecraft.server.EntityFireball; @@ -141,5 +141,5 @@ index 47865c027..b08564618 100644 { EntityAnimal animal = (EntityAnimal) entity; -- -2.14.2 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0236-Anti-Xray.patch b/Spigot-Server-Patches/0236-Anti-Xray.patch index 539a3ca1d4..fdc12da8bc 100644 --- a/Spigot-Server-Patches/0236-Anti-Xray.patch +++ b/Spigot-Server-Patches/0236-Anti-Xray.patch @@ -1,4 +1,4 @@ -From 12b129d5b07628e21299a3ed82829426c2c34c92 Mon Sep 17 00:00:00 2001 +From 7414470453c5c5cf82c7d966a4ffa2ceabe7d5e2 Mon Sep 17 00:00:00 2001 From: stonar96 Date: Thu, 21 Sep 2017 00:38:47 +0200 Subject: [PATCH] Anti-Xray @@ -993,7 +993,7 @@ index 00000000..8ea2beb5 + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e6e54965..33018fa3 100644 +index 1d056031..d1066d82 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -129,7 +129,7 @@ public class Chunk { @@ -1014,7 +1014,7 @@ index e6e54965..33018fa3 100644 this.sections[j >> 4] = chunksection; flag = j >= i1; } -@@ -581,7 +581,7 @@ public class Chunk { +@@ -582,7 +582,7 @@ public class Chunk { ChunkSection chunksection = this.sections[k >> 4]; if (chunksection == Chunk.a) { @@ -1477,7 +1477,7 @@ index 48a008e0..045adbd3 100644 } else { this.a((Packet) (new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, this.chunk))); diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index a1689c06..b1826332 100644 +index a49b5c81..5ec7f581 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -200,6 +200,8 @@ public class PlayerInteractManager { @@ -1502,7 +1502,7 @@ index 8860a012..fa0d66d6 100644 return this.a.size(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f690aaa1..e193f86f 100644 +index 00513d02..592e5b3b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -35,6 +35,8 @@ import org.bukkit.generator.ChunkGenerator; @@ -1579,5 +1579,5 @@ index 9942f0c7..2da6edc6 100644 } } -- -2.14.1.windows.1 +2.15.1.windows.2 diff --git a/Spigot-Server-Patches/0256-Don-t-blindly-send-unlit-chunks-when-lighting-update.patch b/Spigot-Server-Patches/0256-Don-t-blindly-send-unlit-chunks-when-lighting-update.patch index 3968b242c9..8f27ee3d9c 100644 --- a/Spigot-Server-Patches/0256-Don-t-blindly-send-unlit-chunks-when-lighting-update.patch +++ b/Spigot-Server-Patches/0256-Don-t-blindly-send-unlit-chunks-when-lighting-update.patch @@ -1,4 +1,4 @@ -From 055189fd7e43d4c4bec00f501fb3d66fcc192e0c Mon Sep 17 00:00:00 2001 +From 2153af4f9929cba896d12b8c3561f75ca8f7ea5d Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 18 Dec 2017 07:26:56 +0000 Subject: [PATCH] Don't blindly send unlit chunks when lighting updates are @@ -18,7 +18,7 @@ only send chunks which are actually ready to be sent, otherwise, we will always send chunks. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 33018fa3d..4b1b236a7 100644 +index d1066d82..001fca42 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -39,7 +39,7 @@ public class Chunk { @@ -30,7 +30,7 @@ index 33018fa3d..4b1b236a7 100644 private boolean s; private boolean t; private long lastSaved; -@@ -1135,7 +1135,11 @@ public class Chunk { +@@ -1136,7 +1136,11 @@ public class Chunk { * We cannot unfortunately do this lighting stage during chunk gen as it appears to put a lot more noticeable load on the server, than when it is done at play time. * For now at least we will simply send all chunks, in accordance with pre 1.7 behaviour. */ @@ -44,5 +44,5 @@ index 33018fa3d..4b1b236a7 100644 } -- -2.15.1 +2.15.1.windows.2