papermc/patches/api/0209-Inventory-getHolder-method-without-block-snapshot.patch

52 lines
2 KiB
Diff
Raw Normal View History

2021-06-11 12:02:28 +00:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Wed, 10 Jun 2020 23:55:16 +0100
Subject: [PATCH] Inventory getHolder method without block snapshot
diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java
index 83a4642119c3f33749e04c774cf2b39839f797e2..a39d2f1acbbd84ae0e2cf29f85594e09e55e9355 100644
--- a/src/main/java/org/bukkit/block/DoubleChest.java
+++ b/src/main/java/org/bukkit/block/DoubleChest.java
@@ -34,6 +34,18 @@ public class DoubleChest implements InventoryHolder {
return inventory.getRightSide().getHolder();
}
+ // Paper start - getHolder without snapshot
+ @Nullable
+ public InventoryHolder getLeftSide(boolean useSnapshot) {
+ return inventory.getLeftSide().getHolder(useSnapshot);
+ }
+
+ @Nullable
+ public InventoryHolder getRightSide(boolean useSnapshot) {
+ return inventory.getRightSide().getHolder(useSnapshot);
+ }
+ // Paper end
+
@NotNull
public Location getLocation() {
return getInventory().getLocation();
diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java
index 9c6a5bdac8c3ab682bbfae04ff24b76a62bc2883..6386206188e820206bb1a9f516b5e194fdc9d952 100644
--- a/src/main/java/org/bukkit/inventory/Inventory.java
+++ b/src/main/java/org/bukkit/inventory/Inventory.java
@@ -384,6 +384,17 @@ public interface Inventory extends Iterable<ItemStack> {
@Nullable
public InventoryHolder getHolder();
+ // Paper start - getHolder without snapshot
+ /**
+ * Gets the block or entity belonging to the open inventory
+ *
+ * @param useSnapshot Create a snapshot if the holder is a tile entity
+ * @return The holder of the inventory; null if it has no holder.
+ */
+ @Nullable
+ public InventoryHolder getHolder(boolean useSnapshot);
+ // Paper end
+
@NotNull
@Override
public ListIterator<ItemStack> iterator();