PaperMC/patches/api/0416-Fix-Jukeboxes.patch

58 lines
2.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Tue, 14 Mar 2023 18:55:47 -0700
Subject: [PATCH] Fix Jukeboxes
diff --git a/src/main/java/org/bukkit/block/Jukebox.java b/src/main/java/org/bukkit/block/Jukebox.java
index 321e5e034a906129142341cec952fac3c1e7e360..37967acb9ee85f1d1c9b3b2d3472b460f41f7080 100644
--- a/src/main/java/org/bukkit/block/Jukebox.java
+++ b/src/main/java/org/bukkit/block/Jukebox.java
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a captured state of a jukebox.
*/
-public interface Jukebox extends TileState {
+public interface Jukebox extends TileState, org.bukkit.inventory.BlockInventoryHolder { // Paper
/**
* Gets the record inserted into the jukebox.
@@ -62,4 +62,20 @@ public interface Jukebox extends TileState {
* @throws IllegalStateException if this block state is not placed
*/
public boolean eject();
+ // Paper start
+ /**
+ * @return inventory
+ * @see Container#getInventory()
+ */
+ @NotNull
+ @Override
+ org.bukkit.inventory.Inventory getInventory();
+
+ /**
+ * @return snapshot inventory
+ * @see Container#getSnapshotInventory()
+ */
+ @NotNull
+ org.bukkit.inventory.Inventory getSnapshotInventory();
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
index 374b06a5e098f81dfe059df35f02139afd1e7991..6957d5b88c549f08dd3afe272f018be122f3a4a6 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -146,6 +146,13 @@ public enum InventoryType {
*/
@Deprecated @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20
SMITHING_NEW(4, "Upgrade Gear"),
+ // Paper start
+ /**
+ * Pseudo jukebox inventory
+ */
+ @org.jetbrains.annotations.ApiStatus.Experimental
+ JUKEBOX(1, "Jukebox");
+ // Paper end
;
private final int size;