2d09115b3a
Uses the new ANSIComponentSerializer introduced in Adventure 4.14.0 to serialize components when logging them via the ComponentLogger, or when sending messages to the console. This replaces the old solution which uses legacy jank and custom color conversions, with a new library that handles the conversion and config
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 1b4a6e68fc81072591278de1e2ec3f921823811b..429381c4efbfdf48b489cc25936466c193c2f452 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 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);
|