geforkt von Mirrors/Paper
Add Inventory getHolder methods without creating new block snapshots (#3535)
Dieser Commit ist enthalten in:
Ursprung
913467791a
Commit
d18935ed70
@ -0,0 +1,51 @@
|
|||||||
|
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/block/DoubleChest.java
|
||||||
|
+++ b/src/main/java/org/bukkit/block/DoubleChest.java
|
||||||
|
@@ -0,0 +0,0 @@ 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 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> {
|
||||||
|
@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();
|
@ -0,0 +1,42 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Phoenix616 <mail@moep.tv>
|
||||||
|
Date: Wed, 10 Jun 2020 23:55:15 +0100
|
||||||
|
Subject: [PATCH] Inventory getHolder method without block snapshot
|
||||||
|
|
||||||
|
|
||||||
|
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 {
|
||||||
|
return inventory.getOwner();
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start - getHolder without snapshot
|
||||||
|
+ @Override
|
||||||
|
+ public InventoryHolder getHolder(boolean useSnapshot) {
|
||||||
|
+ return inventory instanceof net.minecraft.server.TileEntity ? ((net.minecraft.server.TileEntity) inventory).getOwner(useSnapshot) : getHolder();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public int getMaxStackSize() {
|
||||||
|
return inventory.getMaxStackSize();
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftInventoryDoubleChest extends CraftInventory implements DoubleC
|
||||||
|
return new DoubleChest(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start - getHolder without snapshot
|
||||||
|
+ @Override
|
||||||
|
+ public DoubleChest getHolder(boolean useSnapshot) {
|
||||||
|
+ return getHolder();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public Location getLocation() {
|
||||||
|
return getLeftSide().getLocation().add(getRightSide().getLocation()).multiply(0.5);
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren