mojira.dev
MC-257178

Chiseled Bookshelf redstone behavior is inconsistent

Now that hoppers can interact with chiseled bookshelves in 22w44a, the redstone behavior no longer matches the intended behavior from the announcement.

Setup

  1. Place a chiseled bookshelf over a hopper. Set up a comparator to visually measure the signal strength from the bookshelf.

  2. Power the hopper.

  3. Fill all hopper slots with plain books, so it can take in only more plain books.

  4. Insert books into the bookshelf in the following order: Protection I enchanted book, plain book, plain book, Protection II enchanted book, Protection III enchanted book, Protection IV enchanted book.

  5. De-power the hopper. Observe comparator output as the two plain books are removed.

  6. Add two books-and-quills to the chiseled bookshelf, observing comparator output as this is done.

  7. Remove the books from the bookshelf.

Actual behavior

At step 5, the books are removed from slots 2 and 3. Comparator output indicates 6 after the first removal, then 5 and then 4 after the second. Block texture is no different from when slots 5 and 6 were empty.

At step 6, the books-and-quills are inserted into slots 2 and 3. Comparator output indicates 5 then 6.

At step 7, we get back the books in the following order: Prot IV, Prot III, Prot II, book-and-quill, book-and-quill, Prot I, confirming that the two books-and-quills were inserted into slots 2 and 3.

Expected behavior

There are several ways this could work to be consistent:

  • The comparator output indicates slots 2 and 3 when slots 2 and 3 are the last interacted with, as it is currently defined. And ideally the block texture would visually indicate which slots are empty too.

  • The hopper works more like "remove book from slot 2 then shift all books over" so the empty slots are always at the end. In that case the comparator output should have been 5 (not 6) after the first removal (since the last action was moving the book in slot 6 to slot 5), the output after the second removal should have immediately been 4 (not 5-then-4), and the order the books are retrieved in step 7 should reflect the books-and-quills having been inserted into slots 5 and 6.

  • The hopper can only take from the last filled slot. Although IMO that would be much less useful behavior.

  • Redefine the redstone behavior to indicate fullness, like other containers, instead of "last interacted slot". And still maybe adjust the texture to indicate which slots are empty.

Comments 7

I suppose also of note is that sometimes it will do the "shift all books over" thing, e.g. on a save-reload cycle. Just not consistently.

Behavior is more predictable in 22w46a. The one remaining oddity I've noticed is that a hopper failing to draw from a non-empty bookshelf will reset the signal to indicate the last-filled slot.

This appears to be because the hopper technically takes each book, finds it can't actually put it into the hopper's inventory, and then reinserts it back into the bookshelf. The "reinsert" step changes the bookshelf's last-interacted slot.

Does MC-257622 describe your issue?

No, that is entirely unrelated.

Agree would see the interaction of hoppers with the chiseled bookshelf as a stack and not a queue, The books placed in the initial slots shouldn't change as things are pulled in/out. i.e. the last book placed in should be the first one out so order is maintained.

 

I still think it's odd that adding/removing from the same slot outputs the same signal. Since there's only 6 slots and 15 possible redstone signals, there's a lot of possibilities here. I still think it'd be interesting to have different strength signals for adding vs. removing from a slot. For instance 1-6 being added to that slot last, 7-12 removed from that slot last, or 1 & 2 being added/removed for slot 1, signal-strength 3 & 4 added/removed for slot 2, etc...

Does this issue still occur in 1.19.3?

The situation does not seem to have changed from the behavior in 22w46a as described in #comment-1212161.

Anomie X

billysjoberg

Confirmed

Expansion A

Important

Redstone

22w44a, 1.19.3

23w16a

Retrieved