diff --git a/Spigot-API-Patches/Inventory-close.patch b/Spigot-API-Patches/Inventory-close.patch
new file mode 100644
index 0000000000..7660e64088
--- /dev/null
+++ b/Spigot-API-Patches/Inventory-close.patch
@@ -0,0 +1,26 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <jake.m.potrebic@gmail.com>
+Date: Tue, 11 May 2021 14:54:20 -0700
+Subject: [PATCH] Inventory#close
+
+
+diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/org/bukkit/inventory/Inventory.java
++++ b/src/main/java/org/bukkit/inventory/Inventory.java
+@@ -0,0 +0,0 @@ public interface Inventory extends Iterable<ItemStack> {
+      */
+     public void clear();
+ 
++    // Paper start
++    /**
++     * Closes the inventory for all viewers.
++     *
++     * @return the number if viewers the inventory was closed for
++     */
++    public int close();
++    // Paper end
++
+     /**
+      * Gets a list of players viewing the inventory. Note that a player is
+      * considered to be viewing their own inventory and internal crafting
diff --git a/Spigot-Server-Patches/Inventory-close.patch b/Spigot-Server-Patches/Inventory-close.patch
new file mode 100644
index 0000000000..8218375461
--- /dev/null
+++ b/Spigot-Server-Patches/Inventory-close.patch
@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <jake.m.potrebic@gmail.com>
+Date: Tue, 11 May 2021 14:54:56 -0700
+Subject: [PATCH] Inventory#close
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+@@ -0,0 +0,0 @@ public class CraftInventory implements Inventory {
+             clear(i);
+         }
+     }
++    // Paper start
++    @Override
++    public int close() {
++        int count = this.inventory.getViewers().size();
++        com.google.common.collect.Lists.newArrayList(this.inventory.getViewers()).forEach(HumanEntity::closeInventory);
++        return count;
++    }
++    // Paper end
+ 
+     @Override
+     public ListIterator<ItemStack> iterator() {