mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-27 01:29:32 +01:00
36 lines
2 KiB
Diff
36 lines
2 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 bf39b8b061dd12d33217d80a4620e13ec921fe98..fd8a38dc031621b4e1bfb74a4cdf4654c5cd2b0a 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
|
|
@@ -147,7 +147,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);
|
|
if (level != null) this.updateState(slot); // CraftBukkit - SPIGOT-7381: check for null world
|
|
}
|
|
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 77ece220a2e204c3e66e660c639abda957bf21b9..62acd6686626c84c9fc3964af62097101e8e582f 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);
|