From 239935d183f30c2a782d71dfff86cd7fac949b1d Mon Sep 17 00:00:00 2001 From: Jake Potrebic <15055071+Machine-Maker@users.noreply.github.com> Date: Wed, 12 May 2021 02:39:22 -0700 Subject: [PATCH] Add Inventory#close (#5610) --- Spigot-API-Patches/0298-Inventory-close.patch | 26 +++++++++++++++++++ .../0727-Inventory-close.patch | 25 ++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 Spigot-API-Patches/0298-Inventory-close.patch create mode 100644 Spigot-Server-Patches/0727-Inventory-close.patch diff --git a/Spigot-API-Patches/0298-Inventory-close.patch b/Spigot-API-Patches/0298-Inventory-close.patch new file mode 100644 index 000000000..550e287fa --- /dev/null +++ b/Spigot-API-Patches/0298-Inventory-close.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +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 7956aebcb390379677dccf7c9561866cf94c024c..8f00cb2e3bc9963e9657c1b2493e8b015a6664d0 100644 +--- a/src/main/java/org/bukkit/inventory/Inventory.java ++++ b/src/main/java/org/bukkit/inventory/Inventory.java +@@ -353,6 +353,15 @@ public interface Inventory extends Iterable { + */ + 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/0727-Inventory-close.patch b/Spigot-Server-Patches/0727-Inventory-close.patch new file mode 100644 index 000000000..79f0c2068 --- /dev/null +++ b/Spigot-Server-Patches/0727-Inventory-close.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +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 c3fa97ac34e1fc61ae02f224f8afe5a0b486fb4d..f6001047ada8308cfa1d9b26677a7a5d7774de51 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +@@ -449,6 +449,14 @@ 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 iterator() {