File tree Expand file tree Collapse file tree
paper-api/src/main/java/org/bukkit/block
patches/sources/net/minecraft/world/level/block/entity
src/main/java/org/bukkit/craftbukkit/inventory Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package org .bukkit .block ;
22
3- import org .bukkit .inventory .BlockInventoryHolder ;
43import org .bukkit .inventory .ChiseledBookshelfInventory ;
54import org .bukkit .util .Vector ;
65import org .jetbrains .annotations .NotNull ;
Original file line number Diff line number Diff line change 4545 public static final String SONG_ITEM_TAG_ID = "RecordItem";
4646 public static final String TICKS_SINCE_SONG_STARTED_TAG_ID = "ticks_since_song_started";
4747 private ItemStack item = ItemStack.EMPTY;
48+ @@ -114,6 +_,7 @@
49+ @Override
50+ public void setTheItem(final ItemStack itemStack) {
51+ this.item = itemStack;
52+ + if (this.level == null) return; // Paper - for unplaced block state
53+ boolean itemWasInserted = !this.item.isEmpty();
54+ Optional<Holder<JukeboxSong>> maybeSong = JukeboxSong.fromStack(this.item);
55+ this.notifyItemChangedInJukebox(itemWasInserted);
4856@@ -133,7 +_,7 @@
4957
5058 @Override
Original file line number Diff line number Diff line change 33import net .minecraft .world .level .block .entity .ChiseledBookShelfBlockEntity ;
44import org .bukkit .block .ChiseledBookshelf ;
55import org .bukkit .inventory .ChiseledBookshelfInventory ;
6- import org .bukkit .inventory .ItemStack ;
76
87public class CraftInventoryChiseledBookshelf extends CraftInventory implements ChiseledBookshelfInventory {
98
109 public CraftInventoryChiseledBookshelf (ChiseledBookShelfBlockEntity inventory ) {
1110 super (inventory );
12-
13- }
14-
15- @ Override
16- public void setItem (int index , ItemStack item ) {
17- net .minecraft .world .item .ItemStack nms = CraftItemStack .asNMSCopy (item );
18-
19- if (nms .isEmpty ()) {
20- this .getInventory ().removeItemNoUpdate (index );
21- } else {
22- this .getInventory ().setItem (index , nms );
23- }
2411 }
2512
2613 @ Override
Original file line number Diff line number Diff line change 11package org .bukkit .craftbukkit .inventory ;
22
3- import net .minecraft .world .Container ;
3+ import net .minecraft .world .level . block . entity . JukeboxBlockEntity ;
44import org .bukkit .block .Jukebox ;
55import org .bukkit .inventory .ItemStack ;
66import org .bukkit .inventory .JukeboxInventory ;
77
88public class CraftInventoryJukebox extends CraftInventory implements JukeboxInventory {
99
10- public CraftInventoryJukebox (Container inventory ) {
10+ public CraftInventoryJukebox (JukeboxBlockEntity inventory ) {
1111 super (inventory );
1212 }
1313
1414 @ Override
1515 public void setRecord (ItemStack item ) {
16- if (item == null ) {
17- this .inventory .removeItem (0 , 0 );
18- } else {
19- this .setItem (0 , item );
20- }
16+ this .setItem (0 , item );
2117 }
2218
2319 @ Override
Original file line number Diff line number Diff line change 22
33import net .minecraft .world .level .block .entity .ShelfBlockEntity ;
44import org .bukkit .block .Shelf ;
5- import org .bukkit .inventory .ItemStack ;
65import org .bukkit .inventory .ShelfInventory ;
76
87public class CraftInventoryShelf extends CraftInventory implements ShelfInventory {
@@ -11,17 +10,6 @@ public CraftInventoryShelf(ShelfBlockEntity inventory) {
1110 super (inventory );
1211 }
1312
14- @ Override
15- public void setItem (int index , ItemStack item ) {
16- net .minecraft .world .item .ItemStack nms = CraftItemStack .asNMSCopy (item );
17-
18- if (nms .isEmpty ()) {
19- this .getInventory ().removeItemNoUpdate (index );
20- } else {
21- this .getInventory ().setItem (index , nms );
22- }
23- }
24-
2513 @ Override
2614 public Shelf getHolder () {
2715 return (Shelf ) this .inventory .getOwner ();
You can’t perform that action at this time.
0 commit comments