aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZach Brown <[email protected]>2017-04-28 19:25:52 -0500
committerZach Brown <[email protected]>2017-04-28 19:25:52 -0500
commit8b2122a291e3ea68f0e1516209914ef43a2d55e9 (patch)
tree8a94a6bbe952998f4fac4ed2474268ae4fd48563
parent157528a29e158d3437ee1569820875ef751d1dec (diff)
downloadPaper-8b2122a291e3ea68f0e1516209914ef43a2d55e9.tar.gz
Paper-8b2122a291e3ea68f0e1516209914ef43a2d55e9.zip
Update upstream B/CB/S
-rw-r--r--Spigot-Server-Patches/0006-Timings-v2.patch22
-rw-r--r--Spigot-Server-Patches/0029-Configurable-end-credits.patch10
-rw-r--r--Spigot-Server-Patches/0043-Configurable-container-update-tick-rate.patch8
-rw-r--r--Spigot-Server-Patches/0047-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch22
-rw-r--r--Spigot-Server-Patches/0062-Add-exception-reporting-event.patch12
-rw-r--r--Spigot-Server-Patches/0067-Chunk-save-queue-improvements.patch26
-rw-r--r--Spigot-Server-Patches/0068-Chunk-Save-Reattempt.patch12
-rw-r--r--Spigot-Server-Patches/0074-Handle-Item-Meta-Inconsistencies.patch14
-rw-r--r--Spigot-Server-Patches/0114-Configurable-Player-Collision.patch10
-rw-r--r--Spigot-Server-Patches/0120-Implement-PlayerLocaleChangeEvent.patch10
-rw-r--r--Spigot-Server-Patches/0147-Fix-Double-World-Add-issues.patch8
-rw-r--r--Spigot-Server-Patches/0151-Re-track-players-that-dismount-from-other-players.patch8
-rw-r--r--Spigot-Server-Patches/0158-Auto-Save-Improvements.patch12
-rw-r--r--Spigot-Server-Patches/0161-Auto-fix-bad-Y-levels-on-player-login.patch8
-rw-r--r--Spigot-Server-Patches/0167-Prevent-Auto-Save-if-Save-Queue-is-full.patch19
-rw-r--r--Spigot-Server-Patches/0168-Chunk-Save-Stats-Debug-Option.patch20
-rw-r--r--Spigot-Server-Patches/0173-Optimise-removeQueue.patch10
-rw-r--r--Spigot-Server-Patches/0189-Properly-fix-item-duplication-bug.patch10
-rw-r--r--Spigot-Server-Patches/0199-Enforce-Sync-Player-Saves.patch10
m---------work/Bukkit0
m---------work/CraftBukkit14
m---------work/Spigot0
22 files changed, 120 insertions, 145 deletions
diff --git a/Spigot-Server-Patches/0006-Timings-v2.patch b/Spigot-Server-Patches/0006-Timings-v2.patch
index 60c8212d14..40f9849d19 100644
--- a/Spigot-Server-Patches/0006-Timings-v2.patch
+++ b/Spigot-Server-Patches/0006-Timings-v2.patch
@@ -1,4 +1,4 @@
-From be6fc8fd90adbee10abc3c19b9baffa4e9b55618 Mon Sep 17 00:00:00 2001
+From 1c2a256ac8dc0122b4a34665f614bb09ea329fe4 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
@@ -503,7 +503,7 @@ index 81fc04ed3..bd3b16025 100644
private void z() {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index daf2c0a67..3ba489d4f 100644
+index 2d267e44b..2762d1838 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -195,7 +195,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -525,10 +525,10 @@ index daf2c0a67..3ba489d4f 100644
this.chunkLoader.a(this.world, chunk);
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index a97e7d3c2..4890023d7 100644
+index 65fe4e2ec..bee52d783 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -402,7 +402,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -388,7 +388,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
public void loadEntities(Chunk chunk, NBTTagCompound nbttagcompound, World world) {
// CraftBukkit end
@@ -537,7 +537,7 @@ index a97e7d3c2..4890023d7 100644
NBTTagList nbttaglist1 = nbttagcompound.getList("Entities", 10);
for (int l = 0; l < nbttaglist1.size(); ++l) {
-@@ -411,8 +411,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -397,8 +397,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
a(nbttagcompound2, world, chunk);
chunk.g(true);
}
@@ -546,7 +546,7 @@ index a97e7d3c2..4890023d7 100644
NBTTagList nbttaglist2 = nbttagcompound.getList("TileEntities", 10);
for (int i1 = 0; i1 < nbttaglist2.size(); ++i1) {
-@@ -423,8 +421,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -409,8 +407,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
chunk.a(tileentity);
}
}
@@ -555,7 +555,7 @@ index a97e7d3c2..4890023d7 100644
if (nbttagcompound.hasKeyOfType("TileTicks", 9)) {
NBTTagList nbttaglist3 = nbttagcompound.getList("TileTicks", 10);
-@@ -442,7 +438,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -428,7 +424,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
world.b(new BlockPosition(nbttagcompound4.getInt("x"), nbttagcompound4.getInt("y"), nbttagcompound4.getInt("z")), block, nbttagcompound4.getInt("t"), nbttagcompound4.getInt("p"));
}
}
@@ -1078,7 +1078,7 @@ index f74b06794..1fc632e0c 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index be52f3ad1..d778eafb3 100644
+index 411720f2d..80bf61164 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@@ -1088,7 +1088,7 @@ index be52f3ad1..d778eafb3 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-@@ -1173,10 +1174,11 @@ public abstract class PlayerList {
+@@ -1174,10 +1175,11 @@ public abstract class PlayerList {
}
public void savePlayers() {
@@ -1663,7 +1663,7 @@ index 3a95b4465..b5efb9c3f 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5ceb086e5..b56ae7a36 100644
+index 0c8295435..f4d71683a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -39,15 +39,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@@ -1929,5 +1929,5 @@ index c32d44df0..5c2fb0058 100644
}
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0029-Configurable-end-credits.patch b/Spigot-Server-Patches/0029-Configurable-end-credits.patch
index bec4d8a193..ee66e7704e 100644
--- a/Spigot-Server-Patches/0029-Configurable-end-credits.patch
+++ b/Spigot-Server-Patches/0029-Configurable-end-credits.patch
@@ -1,4 +1,4 @@
-From d5161bb68e53e6d14389c17582a73a10fce3aeee Mon Sep 17 00:00:00 2001
+From c5e40e9bfa3083bdbf6c1eb91991e96b585320f5 Mon Sep 17 00:00:00 2001
From: DoctorDark <[email protected]>
Date: Wed, 16 Mar 2016 02:21:39 -0500
Subject: [PATCH] Configurable end credits
@@ -20,10 +20,10 @@ index fd606ee14..c00fa83d5 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 030a3e51c..79c9601fa 100644
+index f7edd9aa1..dbc5cf632 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
-@@ -515,6 +515,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -516,6 +516,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
return this.world.pvpMode;
}
@@ -39,7 +39,7 @@ index 030a3e51c..79c9601fa 100644
@Nullable
public Entity c(int i) {
if (this.isSleeping()) return this; // CraftBukkit - SPIGOT-3154
-@@ -524,7 +533,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -525,7 +534,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.world.kill(this);
if (!this.viewingCredits) {
this.viewingCredits = true;
@@ -52,5 +52,5 @@ index 030a3e51c..79c9601fa 100644
} else {
this.b((Statistic) AchievementList.D);
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0043-Configurable-container-update-tick-rate.patch b/Spigot-Server-Patches/0043-Configurable-container-update-tick-rate.patch
index 2d0b49ba82..d417acfc14 100644
--- a/Spigot-Server-Patches/0043-Configurable-container-update-tick-rate.patch
+++ b/Spigot-Server-Patches/0043-Configurable-container-update-tick-rate.patch
@@ -1,4 +1,4 @@
-From ad16101c81f51dd63f5aff74cc1f10414650e8ce Mon Sep 17 00:00:00 2001
+From 154ee18ea861801364d933168a27c5fcda6d6459 Mon Sep 17 00:00:00 2001
From: Sudzzy <[email protected]>
Date: Wed, 2 Mar 2016 23:34:44 -0600
Subject: [PATCH] Configurable container update tick rate
@@ -19,7 +19,7 @@ index 1bb956515..e6aae7317 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 1ed1859b8..4866f9f34 100644
+index b830f833f..bf3e46c35 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -68,6 +68,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -30,7 +30,7 @@ index 1ed1859b8..4866f9f34 100644
// CraftBukkit start
public String displayName;
-@@ -230,7 +231,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -231,7 +232,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
--this.noDamageTicks;
}
@@ -45,5 +45,5 @@ index 1ed1859b8..4866f9f34 100644
this.closeInventory();
this.activeContainer = this.defaultContainer;
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0047-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch b/Spigot-Server-Patches/0047-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch
index 93e445fceb..ad7e06eaf5 100644
--- a/Spigot-Server-Patches/0047-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch
+++ b/Spigot-Server-Patches/0047-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch
@@ -1,4 +1,4 @@
-From ce608a503abf342c96c23e68f479c099be811aa7 Mon Sep 17 00:00:00 2001
+From 9d265dc548c5d1e3df9129a15865e70b1597451d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 2 Mar 2016 23:51:51 -0600
Subject: [PATCH] Don't create Region File's when checking if chunk exists
@@ -6,24 +6,8 @@ Subject: [PATCH] Don't create Region File's when checking if chunk exists
Plugins like Dynmap can end up creating tons of emtpy Region Files
when using chunkExists.
-diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 4890023d7..79cb3953b 100644
---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -39,7 +39,10 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- }
- }
-
-- return RegionFileCache.a(this.d, i, j).chunkExists(i & 31, j & 31);
-+ // Paper start - Don't create region files when checking that they exist
-+ final RegionFile region = RegionFileCache.a(this.d, i, j, false);
-+ return region != null && region.chunkExists(i & 31, j & 31);
-+ // Paper end
- }
- // CraftBukkit end
-
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index f23429898..933934fb6 100644
+index 6ec72689c..0163a4e59 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -12,7 +12,13 @@ public class RegionFileCache {
@@ -49,5 +33,5 @@ index f23429898..933934fb6 100644
file1.mkdirs();
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
index 8233e276d4..fd0948cde5 100644
--- a/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
+++ b/Spigot-Server-Patches/0062-Add-exception-reporting-event.patch
@@ -1,4 +1,4 @@
-From 33f879767f8b9a6146f578e89282b711f5d1543d Mon Sep 17 00:00:00 2001
+From 810379dfd7052f869995fd68b8e139a640b10899 Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <[email protected]>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@@ -89,7 +89,7 @@ index e1fc4ea6c..8f1a68d67 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index f7f2d12cf..b0a82e7ed 100644
+index fab36ec15..0ad57afba 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;
@@ -198,7 +198,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 b0279ac3e..be13c1131 100644
+index 8d1b65885..5f9678aad 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -1,5 +1,6 @@
@@ -216,7 +216,7 @@ index b0279ac3e..be13c1131 100644
}
}
-@@ -248,6 +250,7 @@ public class RegionFile {
+@@ -209,6 +211,7 @@ public class RegionFile {
this.b(i, j, (int) (MinecraftServer.aw() / 1000L));
} catch (IOException ioexception) {
ioexception.printStackTrace();
@@ -225,7 +225,7 @@ index b0279ac3e..be13c1131 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index 933934fb6..19fbf9b4a 100644
+index 0163a4e59..57d6443cd 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -1,5 +1,6 @@
@@ -372,5 +372,5 @@ index 9952b64be..e30cfb7b7 100644
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0067-Chunk-save-queue-improvements.patch b/Spigot-Server-Patches/0067-Chunk-save-queue-improvements.patch
index eb4d40fdd7..1a6669e596 100644
--- a/Spigot-Server-Patches/0067-Chunk-save-queue-improvements.patch
+++ b/Spigot-Server-Patches/0067-Chunk-save-queue-improvements.patch
@@ -1,4 +1,4 @@
-From 30f567605c740413aa96168ce4eb60ab22ee1180 Mon Sep 17 00:00:00 2001
+From cfd598467afa046d6f71df7841c168df4758dca1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 4 Mar 2016 18:18:37 -0600
Subject: [PATCH] Chunk save queue improvements
@@ -41,7 +41,7 @@ index 9a6f87e59..873ffa77d 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 79cb3953b..7f3e874ba 100644
+index bee52d783..8e91be4a1 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -12,14 +12,17 @@ import java.util.Map;
@@ -63,21 +63,7 @@ index 79cb3953b..7f3e874ba 100644
private final File d;
private final DataConverterManager e;
private boolean f;
-@@ -33,11 +36,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
- public boolean chunkExists(World world, int i, int j) {
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j);
-
-- if (this.c.contains(chunkcoordintpair)) {
-+ //if (this.c.contains(chunkcoordintpair)) { // Paper - Chunk queue improvements
- if (this.b.containsKey(chunkcoordintpair)) {
- return true;
- }
-- }
-+ //} // Paper - Chunk queue improvements
-
- // Paper start - Don't create region files when checking that they exist
- final RegionFile region = RegionFileCache.a(this.d, i, j, false);
-@@ -151,35 +154,32 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -134,35 +137,32 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
protected void a(ChunkCoordIntPair chunkcoordintpair, NBTTagCompound nbttagcompound) {
@@ -122,7 +108,7 @@ index 79cb3953b..7f3e874ba 100644
if (nbttagcompound != null) {
try {
-@@ -188,10 +188,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -171,10 +171,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
ChunkRegionLoader.a.error("Failed to save chunk", exception);
}
}
@@ -135,7 +121,7 @@ index 79cb3953b..7f3e874ba 100644
}
return flag;
-@@ -556,4 +557,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -539,4 +540,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
return entity;
}
}
@@ -177,5 +163,5 @@ index acfdd52dc..fdbaf5fbd 100644
if (this.b.isEmpty()) {
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0068-Chunk-Save-Reattempt.patch b/Spigot-Server-Patches/0068-Chunk-Save-Reattempt.patch
index b9f24a42cc..065b55e513 100644
--- a/Spigot-Server-Patches/0068-Chunk-Save-Reattempt.patch
+++ b/Spigot-Server-Patches/0068-Chunk-Save-Reattempt.patch
@@ -1,4 +1,4 @@
-From 82e7c9b1c02794288a3242d11d2b62ee3c46369b Mon Sep 17 00:00:00 2001
+From 1a4ce4dfb31730e1359640c638688cbba006b68c Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 4 Mar 2013 23:46:10 -0500
Subject: [PATCH] Chunk Save Reattempt
@@ -6,10 +6,10 @@ Subject: [PATCH] Chunk Save Reattempt
We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks.
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 7f3e874ba..310ab96ab 100644
+index 8e91be4a1..721a3cd81 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -182,11 +182,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -165,11 +165,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
NBTTagCompound nbttagcompound = chunk.compound; // Paper - Chunk queue improvements
if (nbttagcompound != null) {
@@ -28,10 +28,10 @@ index 7f3e874ba..310ab96ab 100644
synchronized (lock) { if (this.b.get(chunkcoordintpair) == nbttagcompound) { this.b.remove(chunkcoordintpair); } }// Paper - This will not equal if a newer version is still pending
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index be13c1131..9cfc46bc2 100644
+index 5f9678aad..ed840dbc9 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
-@@ -249,8 +249,7 @@ public class RegionFile {
+@@ -210,8 +210,7 @@ public class RegionFile {
this.b(i, j, (int) (MinecraftServer.aw() / 1000L));
} catch (IOException ioexception) {
@@ -42,5 +42,5 @@ index be13c1131..9cfc46bc2 100644
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0074-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0074-Handle-Item-Meta-Inconsistencies.patch
index 50af0fefe0..b2ff8917df 100644
--- a/Spigot-Server-Patches/0074-Handle-Item-Meta-Inconsistencies.patch
+++ b/Spigot-Server-Patches/0074-Handle-Item-Meta-Inconsistencies.patch
@@ -1,4 +1,4 @@
-From dc7e3a08fdabca0ced4e60d7c27aa58790185d29 Mon Sep 17 00:00:00 2001
+From 3ebd0b6e30d5bb88cd31408f92c49f79e928d2a9 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 28 May 2015 23:00:19 -0400
Subject: [PATCH] Handle Item Meta Inconsistencies
@@ -144,7 +144,7 @@ index a54bc7c42..81ec8f69e 100644
static Map<Enchantment, Integer> getEnchantments(net.minecraft.server.ItemStack item) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index a9a338a82..0ac639f76 100644
+index 9d0c05cd0..ab50ee92e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -6,13 +6,8 @@ import java.lang.annotation.RetentionPolicy;
@@ -224,7 +224,7 @@ index a9a338a82..0ac639f76 100644
for (int i = 0; i < ench.size(); i++) {
int id = 0xffff & ((NBTTagCompound) ench.get(i)).getShort(ENCHANTMENTS_ID.NBT);
-@@ -546,13 +549,13 @@ class CraftMetaItem implements ItemMeta, Repairable {
+@@ -545,13 +548,13 @@ class CraftMetaItem implements ItemMeta, Repairable {
void deserializeInternal(NBTTagCompound tag) {
}
@@ -240,7 +240,7 @@ index a9a338a82..0ac639f76 100644
for (Map.Entry<?, ?> entry : ench.entrySet()) {
Enchantment enchantment = Enchantment.getByName(entry.getKey().toString());
-@@ -696,12 +699,12 @@ class CraftMetaItem implements ItemMeta, Repairable {
+@@ -695,12 +698,12 @@ class CraftMetaItem implements ItemMeta, Repairable {
}
public Map<Enchantment, Integer> getEnchants() {
@@ -255,7 +255,7 @@ index a9a338a82..0ac639f76 100644
}
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
-@@ -871,7 +874,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
+@@ -870,7 +873,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
clone.lore = new ArrayList<String>(this.lore);
}
if (this.enchantments != null) {
@@ -264,7 +264,7 @@ index a9a338a82..0ac639f76 100644
}
clone.hideFlag = this.hideFlag;
clone.unbreakable = this.unbreakable;
-@@ -1028,6 +1031,23 @@ class CraftMetaItem implements ItemMeta, Repairable {
+@@ -1027,6 +1030,23 @@ class CraftMetaItem implements ItemMeta, Repairable {
}
}
@@ -289,5 +289,5 @@ index a9a338a82..0ac639f76 100644
private final Spigot spigot = new Spigot()
{
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0114-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0114-Configurable-Player-Collision.patch
index 4215fffaef..c8b37aa397 100644
--- a/Spigot-Server-Patches/0114-Configurable-Player-Collision.patch
+++ b/Spigot-Server-Patches/0114-Configurable-Player-Collision.patch
@@ -1,4 +1,4 @@
-From 8947fc06b9c49517b322470cd569d158c05b4118 Mon Sep 17 00:00:00 2001
+From 6e0a59b05544ff285c2775c54e01c0a5b08c8371 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 13 Apr 2016 02:10:49 -0400
Subject: [PATCH] Configurable Player Collision
@@ -75,7 +75,7 @@ index d8ec50455..eb45d3cf2 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index b8d48b45c..50a3dfe44 100644
+index e303b45f0..97322c5da 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -71,6 +71,7 @@ public abstract class PlayerList {
@@ -99,7 +99,7 @@ index b8d48b45c..50a3dfe44 100644
// CraftBukkit - Moved from above, added world
PlayerList.f.info(entityplayer.getName() + "[" + s1 + "] logged in with entity id " + entityplayer.getId() + " at ([" + entityplayer.world.worldData.getName() + "]" + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
}
-@@ -399,6 +406,16 @@ public abstract class PlayerList {
+@@ -400,6 +407,16 @@ public abstract class PlayerList {
entityplayer.playerTick();// SPIGOT-924
// CraftBukkit end
@@ -116,7 +116,7 @@ index b8d48b45c..50a3dfe44 100644
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getVehicle();
-@@ -1313,7 +1330,13 @@ public abstract class PlayerList {
+@@ -1314,7 +1331,13 @@ public abstract class PlayerList {
player.playerConnection.disconnect(this.server.server.getShutdownMessage()); // CraftBukkit - add custom shutdown message
}
// CraftBukkit end
@@ -132,5 +132,5 @@ index b8d48b45c..50a3dfe44 100644
// CraftBukkit start
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0120-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0120-Implement-PlayerLocaleChangeEvent.patch
index b54a9a5a5a..57d0b4d59c 100644
--- a/Spigot-Server-Patches/0120-Implement-PlayerLocaleChangeEvent.patch
+++ b/Spigot-Server-Patches/0120-Implement-PlayerLocaleChangeEvent.patch
@@ -1,11 +1,11 @@
-From c6514d3a10a21f812014901a8f530813fd10a66b Mon Sep 17 00:00:00 2001
+From 230b15e3cf0ecccba8688946cc029fd5d3a4a54d Mon Sep 17 00:00:00 2001
From: Isaac Moore <[email protected]>
Date: Tue, 19 Apr 2016 14:09:31 -0500
Subject: [PATCH] Implement PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 4866f9f34..cf12e51e4 100644
+index bf3e46c35..ad1bb7bab 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -31,7 +31,7 @@ import org.bukkit.inventory.MainHand;
@@ -17,7 +17,7 @@ index 4866f9f34..cf12e51e4 100644
public PlayerConnection playerConnection;
public final MinecraftServer server;
public final PlayerInteractManager playerInteractManager;
-@@ -1104,7 +1104,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -1105,7 +1105,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.server.server.getPluginManager().callEvent(event);
}
// CraftBukkit end
@@ -34,7 +34,7 @@ index 4866f9f34..cf12e51e4 100644
this.ch = packetplayinsettings.d();
this.getDataWatcher().set(EntityPlayer.bq, Byte.valueOf((byte) packetplayinsettings.e()));
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5f6b182d6..233903b5f 100644
+index 8e06c2140..61c32223d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1691,7 +1691,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -50,5 +50,5 @@ index 5f6b182d6..233903b5f 100644
@Override
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0147-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0147-Fix-Double-World-Add-issues.patch
index 0e3dda835a..5501f4edb3 100644
--- a/Spigot-Server-Patches/0147-Fix-Double-World-Add-issues.patch
+++ b/Spigot-Server-Patches/0147-Fix-Double-World-Add-issues.patch
@@ -1,4 +1,4 @@
-From 8ed79f772341407250572ea3a08b13d46bafab63 Mon Sep 17 00:00:00 2001
+From df9b45642a0350faf91c0100855ee2d22435f4ce Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 21 Jun 2016 22:54:34 -0400
Subject: [PATCH] Fix Double World Add issues
@@ -8,10 +8,10 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added.
Also add debug if something else tries to, and abort before world gets bad state
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 310ab96ab..19411212a 100644
+index 721a3cd81..90d069539 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -525,7 +525,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -508,7 +508,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
public static void a(Entity entity, World world, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) {
@@ -33,5 +33,5 @@ index 7ed3a0677..7900fca57 100644
int i = MathHelper.floor(entity.locX / 16.0D);
int j = MathHelper.floor(entity.locZ / 16.0D);
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0151-Re-track-players-that-dismount-from-other-players.patch b/Spigot-Server-Patches/0151-Re-track-players-that-dismount-from-other-players.patch
index 8f5d435410..ed5eb22756 100644
--- a/Spigot-Server-Patches/0151-Re-track-players-that-dismount-from-other-players.patch
+++ b/Spigot-Server-Patches/0151-Re-track-players-that-dismount-from-other-players.patch
@@ -1,14 +1,14 @@
-From ce4e97796333e81052f7e5267af694d1ebb49f50 Mon Sep 17 00:00:00 2001
+From 44ea66d13039d7c00b6fb87a41a187ba42690249 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Sun, 31 Jul 2016 16:33:03 -0500
Subject: [PATCH] Re-track players that dismount from other players
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index cf12e51e4..acda1843d 100644
+index ad1bb7bab..4e8efc549 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
-@@ -653,6 +653,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -654,6 +654,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (entity1 != entity && this.playerConnection != null) {
this.playerConnection.a(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
}
@@ -23,5 +23,5 @@ index cf12e51e4..acda1843d 100644
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0158-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0158-Auto-Save-Improvements.patch
index fe441428a2..2e2fe6051c 100644
--- a/Spigot-Server-Patches/0158-Auto-Save-Improvements.patch
+++ b/Spigot-Server-Patches/0158-Auto-Save-Improvements.patch
@@ -1,4 +1,4 @@
-From acd7a746b5bf9c66021066b91467f8f808772d3d Mon Sep 17 00:00:00 2001
+From 4978f444ee1bb732f34447349281f25b8f470a13 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 19 Sep 2016 23:16:39 -0400
Subject: [PATCH] Auto Save Improvements
@@ -76,7 +76,7 @@ index 88437d77a..9f7f32dc2 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 0a8e09e5e..ad668be62 100644
+index 81b9bb884..71df9e4aa 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 0a8e09e5e..ad668be62 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index acda1843d..171ed25c3 100644
+index 4e8efc549..55c966811 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 {
@@ -155,7 +155,7 @@ index 2349c3ade..8134501c7 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 50a3dfe44..185b5929f 100644
+index 97322c5da..58f30fb1d 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -330,6 +330,7 @@ public abstract class PlayerList {
@@ -166,7 +166,7 @@ index 50a3dfe44..185b5929f 100644
this.playerFileData.save(entityplayer);
ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) this.o.get(entityplayer.getUniqueID());
-@@ -1206,13 +1207,23 @@ public abstract class PlayerList {
+@@ -1207,13 +1208,23 @@ public abstract class PlayerList {
}
@@ -215,5 +215,5 @@ index f969d2a72..cc0e8d2c8 100644
timings.worldSaveChunks.startTiming(); // Paper
chunkproviderserver.a(flag);
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0161-Auto-fix-bad-Y-levels-on-player-login.patch b/Spigot-Server-Patches/0161-Auto-fix-bad-Y-levels-on-player-login.patch
index d4afdd9546..eaf3adca37 100644
--- a/Spigot-Server-Patches/0161-Auto-fix-bad-Y-levels-on-player-login.patch
+++ b/Spigot-Server-Patches/0161-Auto-fix-bad-Y-levels-on-player-login.patch
@@ -1,4 +1,4 @@
-From 8d7d278a44258fea1363df19c5e4e1868fb6e53c Mon Sep 17 00:00:00 2001
+From d90efd20600735e017db928e235bde3740181dab Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 21 Sep 2016 23:48:39 -0400
Subject: [PATCH] Auto fix bad Y levels on player login
@@ -6,10 +6,10 @@ Subject: [PATCH] Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 171ed25c3..32bce920b 100644
+index 55c966811..eca224bdb 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
-@@ -130,6 +130,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -131,6 +131,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
}
}
@@ -18,5 +18,5 @@ index 171ed25c3..32bce920b 100644
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0167-Prevent-Auto-Save-if-Save-Queue-is-full.patch b/Spigot-Server-Patches/0167-Prevent-Auto-Save-if-Save-Queue-is-full.patch
index 3bd5a59ea8..698296a8f6 100644
--- a/Spigot-Server-Patches/0167-Prevent-Auto-Save-if-Save-Queue-is-full.patch
+++ b/Spigot-Server-Patches/0167-Prevent-Auto-Save-if-Save-Queue-is-full.patch
@@ -1,4 +1,4 @@
-From f3d367714519d31627c7ef374578b894060495cd Mon Sep 17 00:00:00 2001
+From f8e15ecff289a756ab1e2cdf81ea4fbc150e4bd2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Nov 2016 21:52:22 -0400
Subject: [PATCH] Prevent Auto Save if Save Queue is full
@@ -23,7 +23,7 @@ index 220ecaf8d..4ca44afa9 100644
private void removeCorruptTEs() {
removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false);
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index ad668be62..916bf53f4 100644
+index 71df9e4aa..0fb1f8427 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -254,6 +254,14 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -51,17 +51,18 @@ index ad668be62..916bf53f4 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 19411212a..139f2799c 100644
+index 90d069539..895882b2e 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -33,6 +33,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -32,6 +32,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+ this.e = dataconvertermanager;
}
- // CraftBukkit start
+ public int getQueueSize() { return queue.size(); } // Paper
- public boolean chunkExists(World world, int i, int j) {
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j);
-
++
+ // CraftBukkit start - Add async variant, provide compatibility
+ @Nullable
+ public Chunk a(World world, int i, int j) throws IOException {
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0168-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0168-Chunk-Save-Stats-Debug-Option.patch
index de1510b2ed..ffbcd8fc10 100644
--- a/Spigot-Server-Patches/0168-Chunk-Save-Stats-Debug-Option.patch
+++ b/Spigot-Server-Patches/0168-Chunk-Save-Stats-Debug-Option.patch
@@ -1,4 +1,4 @@
-From beb15103f9456ab0f8e3df370a52048e13fd7cc3 Mon Sep 17 00:00:00 2001
+From bdd1befe24e100ea6a31702f49dfbe8020bbf0cf Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 4 Nov 2016 02:12:10 -0400
Subject: [PATCH] Chunk Save Stats Debug Option
@@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing.
Stats on current queue, how many was processed and how many were queued.
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 916bf53f4..7006466b5 100644
+index 0fb1f8427..dabe4137f 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -28,6 +28,11 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -55,13 +55,13 @@ index 916bf53f4..7006466b5 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 139f2799c..a10964b5b 100644
+index 895882b2e..a4c0b0c96 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -33,7 +33,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -32,7 +32,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+ this.e = dataconvertermanager;
}
- // CraftBukkit start
- public int getQueueSize() { return queue.size(); } // Paper
+ // Paper start
+ private long queuedSaves = 0;
@@ -70,10 +70,10 @@ index 139f2799c..a10964b5b 100644
+ public long getQueuedSaves() { return queuedSaves; }
+ public long getProcessedSaves() { return processedSaves.longValue(); }
+ // Paper end
- public boolean chunkExists(World world, int i, int j) {
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j);
-@@ -158,6 +164,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+ // CraftBukkit start - Add async variant, provide compatibility
+ @Nullable
+@@ -142,6 +148,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
synchronized (lock) { // Paper - Chunk queue improvements
this.b.put(chunkcoordintpair, nbttagcompound);
}
@@ -81,7 +81,7 @@ index 139f2799c..a10964b5b 100644
queue.add(new QueuedChunk(chunkcoordintpair, nbttagcompound)); // Paper - Chunk queue improvements
FileIOThread.a().a(this);
-@@ -175,6 +182,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
+@@ -159,6 +166,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
return false;
} else {
ChunkCoordIntPair chunkcoordintpair = chunk.coords; // Paper - Chunk queue improvements
@@ -90,5 +90,5 @@ index 139f2799c..a10964b5b 100644
boolean flag;
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0173-Optimise-removeQueue.patch b/Spigot-Server-Patches/0173-Optimise-removeQueue.patch
index 440eacda00..e16274e2ce 100644
--- a/Spigot-Server-Patches/0173-Optimise-removeQueue.patch
+++ b/Spigot-Server-Patches/0173-Optimise-removeQueue.patch
@@ -1,11 +1,11 @@
-From df2fd9ca4186acf80f5f3516d1d6473d29f4c2b2 Mon Sep 17 00:00:00 2001
+From 8fe1d79d96efbc0d370340b62f9c9bbf85fa2bd4 Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <[email protected]>
Date: Fri, 25 Nov 2016 13:22:40 +0000
Subject: [PATCH] Optimise removeQueue
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 32bce920b..56ce2554d 100644
+index eca224bdb..58d40f994 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -4,7 +4,9 @@ import com.google.common.collect.Lists;
@@ -27,7 +27,7 @@ index 32bce920b..56ce2554d 100644
private final ServerStatisticManager bU;
private float bV = Float.MIN_VALUE;
private int bW = Integer.MIN_VALUE;
-@@ -250,10 +252,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -251,10 +253,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
Iterator iterator = this.removeQueue.iterator();
int j = 0;
@@ -46,7 +46,7 @@ index 32bce920b..56ce2554d 100644
this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint));
}
-@@ -994,7 +1003,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -995,7 +1004,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.lastSentExp = -1;
this.lastHealthSent = -1.0F;
this.cc = -1;
@@ -61,5 +61,5 @@ index 32bce920b..56ce2554d 100644
protected void a(MobEffect mobeffect) {
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0189-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0189-Properly-fix-item-duplication-bug.patch
index 5be8e4a35b..8562067b09 100644
--- a/Spigot-Server-Patches/0189-Properly-fix-item-duplication-bug.patch
+++ b/Spigot-Server-Patches/0189-Properly-fix-item-duplication-bug.patch
@@ -1,4 +1,4 @@
-From 7fa342a5b6c89bbc3be05d7b6b87693d2d78c64c Mon Sep 17 00:00:00 2001
+From bd8532227d23fe7a62d16e8d4695f237ad2fc408 Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <[email protected]>
Date: Tue, 27 Dec 2016 01:57:57 +0000
Subject: [PATCH] Properly fix item duplication bug
@@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 56ce2554..a5c5bd4b 100644
+index 58d40f994..acb4469d2 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
-@@ -1345,7 +1345,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
+@@ -1346,7 +1346,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
protected boolean isFrozen() {
@@ -19,7 +19,7 @@ index 56ce2554..a5c5bd4b 100644
public void reset() {
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 43757500..7c2d43ac 100644
+index 437575003..7c2d43ac2 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2565,6 +2565,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -31,5 +31,5 @@ index 43757500..7c2d43ac 100644
}
}
--
-2.12.2
+2.12.2.windows.2
diff --git a/Spigot-Server-Patches/0199-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0199-Enforce-Sync-Player-Saves.patch
index c32825fe85..31ff6fbbc0 100644
--- a/Spigot-Server-Patches/0199-Enforce-Sync-Player-Saves.patch
+++ b/Spigot-Server-Patches/0199-Enforce-Sync-Player-Saves.patch
@@ -1,4 +1,4 @@
-From 92c63591e1ef7367804389d182d09755a26693c5 Mon Sep 17 00:00:00 2001
+From ec9ab2991de89ca5c7c8c51bb4ab8abbee15d5d0 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 7 Jan 2017 15:41:58 -0500
Subject: [PATCH] Enforce Sync Player Saves
@@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 185b5929..91a45a75 100644
+index 58f30fb1d..034bdb7cf 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -1213,6 +1213,7 @@ public abstract class PlayerList {
+@@ -1214,6 +1214,7 @@ public abstract class PlayerList {
}
public void savePlayers(Integer interval) {
@@ -18,7 +18,7 @@ index 185b5929..91a45a75 100644
long now = MinecraftServer.currentTick;
MinecraftTimings.savePlayers.startTiming(); // Paper
for (int i = 0; i < this.players.size(); ++i) {
-@@ -1222,6 +1223,7 @@ public abstract class PlayerList {
+@@ -1223,6 +1224,7 @@ public abstract class PlayerList {
}
}
MinecraftTimings.savePlayers.stopTiming(); // Paper
@@ -27,5 +27,5 @@ index 185b5929..91a45a75 100644
// Paper end
--
-2.12.2
+2.12.2.windows.2
diff --git a/work/Bukkit b/work/Bukkit
-Subproject bbfe2ba6aa89f6299d2efe793b1956e8fc96b2c
+Subproject 7861de61e648464ce3e3dd635ed19f92521fc95
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject c19c2932bf14b62a6d31266c8ccd9003bfe05e9
+Subproject a2af8f0a730c11af84d995ccfcf36544ddb4eea
diff --git a/work/Spigot b/work/Spigot
-Subproject 38ddb34339a47f2d52e9e36ee7e6cca8fbf6193
+Subproject a3f6ea510b919b8d64636ed6be3b7b23af9e6b1