mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-27 15:09:34 +02:00
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 2c64d8c4 SPIGOT-7309: Add API for jukebox inventories a6d7e4ca PR-826: Add Sniffer API CraftBukkit Changes: 93813509b SPIGOT-7309: Add API for jukebox inventories 2d5209e8d PR-1153: Handle teleport reason in spreadplayers command f5b61387e SPIGOT-7308: Fix NullPointerException when calling Jukebox#setRecord() 388d458a6 SPIGOT-7306: Fix reset of coords in default teleportTo in EntityPlayer 40b87e1af PR-1150: Add Sniffer API and handle EntityItemDropEvent Spigot Changes: 6ad4b93c SPIGOT-7298: Fix debug stick always permission left click toggle
37 lines
2.0 KiB
Diff
37 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
|
Date: Sat, 18 Mar 2023 18:51:33 +0100
|
|
Subject: [PATCH] Fix chiseled bookshelf and jukebox setItem with air
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
|
index 6986b2a5df34bfe078c902594f6409ad0ea847ef..ed12a23448dc9ada423ebd79a131eab2de3d6e48 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
|
@@ -146,7 +146,7 @@ public class ChiseledBookShelfBlockEntity extends BlockEntity implements Contain
|
|
|
|
@Override
|
|
public void setItem(int slot, ItemStack stack) {
|
|
- if (stack.is(ItemTags.BOOKSHELF_BOOKS)) {
|
|
+ if (stack.isEmpty() || stack.is(ItemTags.BOOKSHELF_BOOKS)) { // Paper
|
|
this.items.set(slot, stack);
|
|
this.updateState(slot);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java
|
|
index 9cb6c0d80a988c23dd7af4263882ac128d08d6e8..08a6f2924b36d36fadb35d8d2443bb717ff4567e 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java
|
|
@@ -183,6 +183,12 @@ public class JukeboxBlockEntity extends BlockEntity implements Clearable, Contai
|
|
|
|
@Override
|
|
public void setItem(int slot, ItemStack stack) {
|
|
+ // Paper start
|
|
+ if (stack.isEmpty()) {
|
|
+ this.removeItem(slot, 0);
|
|
+ return;
|
|
+ }
|
|
+ // Paper end
|
|
if (stack.is(ItemTags.MUSIC_DISCS) && this.level != null) {
|
|
this.items.set(slot, stack);
|
|
this.setHasRecordBlockState((Entity) null, true);
|