diff --git a/Spigot-API-Patches/POM-changes.patch b/Spigot-API-Patches/POM-changes.patch
index e75444c59..7c8362c5e 100644
--- a/Spigot-API-Patches/POM-changes.patch
+++ b/Spigot-API-Patches/POM-changes.patch
@@ -24,7 +24,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- spigot-api
+ com.destroystokyo.paper
+ paper-api
- 1.10-R0.1-SNAPSHOT
+ 1.10.2-R0.1-SNAPSHOT
jar
- Spigot-API
diff --git a/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
index be6aab432..72ff091d7 100644
--- a/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
+++ b/Spigot-Server-Patches/Fix-Double-World-Add-issues.patch
@@ -21,7 +21,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
Iterator iterator = entity.bx().iterator();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+index 1d47a117..f7d9a7c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
diff --git a/Spigot-Server-Patches/MC-80966-Always-send-chunk-sections.patch b/Spigot-Server-Patches/MC-80966-Always-send-chunk-sections.patch
deleted file mode 100644
index aab278ac9..000000000
--- a/Spigot-Server-Patches/MC-80966-Always-send-chunk-sections.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Zach Brown <1254957+zachbr@users.noreply.github.com>
-Date: Sat, 11 Jun 2016 14:59:15 -0500
-Subject: [PATCH] MC-80966 - Always send chunk sections
-
-
-diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/ChunkSection.java
-+++ b/src/main/java/net/minecraft/server/ChunkSection.java
-@@ -0,0 +0,0 @@ public class ChunkSection {
- }
-
- public boolean a() {
-- return this.nonEmptyBlockCount == 0;
-+ // Paper - MC-80966
-+ // Even if there are no blocks, there may be other information associated with the chunk, always send it.
-+ return false;
- }
-
- public boolean shouldTick() {
---
\ No newline at end of file
diff --git a/Spigot-Server-Patches/MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch b/Spigot-Server-Patches/MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch
deleted file mode 100644
index 03e275e41..000000000
--- a/Spigot-Server-Patches/MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar
-Date: Mon, 16 May 2016 22:54:36 -0400
-Subject: [PATCH] MC-99914 - ensure EntityItem loads before EntityPotion
-
-
-diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/EntityItem.java
-+++ b/src/main/java/net/minecraft/server/EntityItem.java
-@@ -0,0 +0,0 @@ public class EntityItem extends Entity {
- this.setItemStack(itemstack);
- }
-
-+ static int uglyHack = 1; // Paper - MC-99914 - ensure EntityItem loads before EntityPotion
- protected boolean playStepSound() {
- return false;
- }
-diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/server/MinecraftServer.java
-+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
- this.dataConverterManager = dataconvertermanager;
- // CraftBukkit start
- this.options = options;
-+ EntityItem.uglyHack++; // Paper - MC-99914 - ensure EntityItem loads before EntityPotion
- // Try to see if we're actually running in a terminal, disable jline if not
- if (System.console() == null && System.getProperty("jline.terminal") == null) {
- System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
---
\ No newline at end of file
diff --git a/Spigot-Server-Patches/POM-Changes.patch b/Spigot-Server-Patches/POM-Changes.patch
index 39352dd7c..9cde258e2 100644
--- a/Spigot-Server-Patches/POM-Changes.patch
+++ b/Spigot-Server-Patches/POM-Changes.patch
@@ -17,7 +17,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ com.destroystokyo.paper
+ paper
jar
- 1.10-R0.1-SNAPSHOT
+ 1.10.2-R0.1-SNAPSHOT
- Spigot
- http://www.spigotmc.org
+ Paper
diff --git a/Spigot-Server-Patches/Use-Optimized-Collections.patch b/Spigot-Server-Patches/Use-Optimized-Collections.patch
index 72cd1b0ce..d5152da95 100644
--- a/Spigot-Server-Patches/Use-Optimized-Collections.patch
+++ b/Spigot-Server-Patches/Use-Optimized-Collections.patch
@@ -35,14 +35,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import javax.annotation.Nullable;
+import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; // Paper
import org.apache.commons.lang3.ObjectUtils;
-
- public class DataWatcher {
-
- private static final Map, Integer> a = Maps.newHashMap();
- private final Entity b;
-- private final Map> c = Maps.newHashMap();
-+ private final Map> c = new Int2ObjectOpenHashMap<>(); // Paper
- private final ReadWriteLock d = new ReentrantReadWriteLock();
- private boolean e = true;
- private boolean f;
+ import org.apache.logging.log4j.LogManager;
+ import org.apache.logging.log4j.Logger;
+@@ -0,0 +0,0 @@ public class DataWatcher {
+ private static final Logger a = LogManager.getLogger();
+ private static final Map, Integer> b = Maps.newHashMap();
+ private final Entity c;
+- private final Map> d = Maps.newHashMap();
++ private final Map> d = new Int2ObjectOpenHashMap<>(); // Paper
+ private final ReadWriteLock e = new ReentrantReadWriteLock();
+ private boolean f = true;
+ private boolean g;
--
\ No newline at end of file
diff --git a/work/BuildData b/work/BuildData
index cede5450c..f37e6395d 160000
--- a/work/BuildData
+++ b/work/BuildData
@@ -1 +1 @@
-Subproject commit cede5450c952c76341e047b8d04f9894f16e596d
+Subproject commit f37e6395d8f7d4865df27a4ab77e0c0d45de8fb9
diff --git a/work/Bukkit b/work/Bukkit
index da1195392..c3a46c9b8 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit da1195392ac6db7015a83165a01b9c62b8380a24
+Subproject commit c3a46c9b8db54daf9425d73aa593e494f809bbde
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 1953f52da..4c1e9342c 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 1953f52da1ece0feb56dea20592c1b86616b31a5
+Subproject commit 4c1e9342cbe16f4c83d9360e3a21283d3fd80e50
diff --git a/work/Spigot b/work/Spigot
index c3e4052b6..687a0190e 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit c3e4052b69acbcf52439c51ae8b0d65a4b1bb98a
+Subproject commit 687a0190ef59611cca4cba981e17b4881c51df17