From 8b2122a291e3ea68f0e1516209914ef43a2d55e9 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 28 Apr 2017 19:25:52 -0500 Subject: [PATCH] Update upstream B/CB/S --- Spigot-Server-Patches/0006-Timings-v2.patch | 22 ++++++++-------- .../0029-Configurable-end-credits.patch | 10 +++---- ...figurable-container-update-tick-rate.patch | 8 +++--- ...ion-File-s-when-checking-if-chunk-ex.patch | 22 +++------------- .../0062-Add-exception-reporting-event.patch | 12 ++++----- .../0067-Chunk-save-queue-improvements.patch | 26 +++++-------------- .../0068-Chunk-Save-Reattempt.patch | 12 ++++----- ...074-Handle-Item-Meta-Inconsistencies.patch | 14 +++++----- .../0114-Configurable-Player-Collision.patch | 10 +++---- ...20-Implement-PlayerLocaleChangeEvent.patch | 10 +++---- .../0147-Fix-Double-World-Add-issues.patch | 8 +++--- ...ers-that-dismount-from-other-players.patch | 8 +++--- .../0158-Auto-Save-Improvements.patch | 12 ++++----- ...uto-fix-bad-Y-levels-on-player-login.patch | 8 +++--- ...vent-Auto-Save-if-Save-Queue-is-full.patch | 19 +++++++------- .../0168-Chunk-Save-Stats-Debug-Option.patch | 20 +++++++------- .../0173-Optimise-removeQueue.patch | 10 +++---- ...89-Properly-fix-item-duplication-bug.patch | 10 +++---- .../0199-Enforce-Sync-Player-Saves.patch | 10 +++---- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 22 files changed, 114 insertions(+), 143 deletions(-) diff --git a/Spigot-Server-Patches/0006-Timings-v2.patch b/Spigot-Server-Patches/0006-Timings-v2.patch index 60c8212d1..40f9849d1 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 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 bec4d8a19..ee66e7704 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 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 2d0b49ba8..d417acfc1 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 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 93e445fce..ad7e06eaf 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 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 8233e276d..fd0948cde 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 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 eb4d40fdd..1a6669e59 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 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 b9f24a42c..065b55e51 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 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 50af0fefe..b2ff8917d 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 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 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 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(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 4215fffae..c8b37aa39 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 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 b54a9a5a5..57d0b4d59 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 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 0e3dda835..5501f4edb 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 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 8f5d43541..ed5eb2275 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 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 fe441428a..2e2fe6051 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 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 d4afdd954..eaf3adca3 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 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 3bd5a59ea..698296a8f 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 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 de1510b2e..ffbcd8fc1 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 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 440eacda0..e16274e2c 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 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 5be8e4a35..8562067b0 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 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 c32825fe8..31ff6fbbc 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 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 index bbfe2ba6a..7861de61e 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit bbfe2ba6aa89f6299d2efe793b1956e8fc96b2c5 +Subproject commit 7861de61e648464ce3e3dd635ed19f92521fc952 diff --git a/work/CraftBukkit b/work/CraftBukkit index c19c2932b..a2af8f0a7 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit c19c2932bf14b62a6d31266c8ccd9003bfe05e91 +Subproject commit a2af8f0a730c11af84d995ccfcf36544ddb4eea0 diff --git a/work/Spigot b/work/Spigot index 38ddb3433..a3f6ea510 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 38ddb34339a47f2d52e9e36ee7e6cca8fbf61932 +Subproject commit a3f6ea510b919b8d64636ed6be3b7b23af9e6b16