Observers detect changes in *block states*. The items in shelves are stored in a *block entity*. This is working as intended. If you want to detect changes in items, use a comparator.
dhi_awesome on
But they can, you’re just detecting the wrong kind of interaction.
When it comes to the contents of an inventory, you use a comparator. When it comes to changes of a block, you use an observer. Putting items on and off a shelf is changing the contents of the shelves inventory. Powering them on and off to switch them between 3 individual shelves or a hotbar shelf is detected by observers, as that’s a change to the block
3 Comments
What happens if you observe from behind?
Observers detect changes in *block states*. The items in shelves are stored in a *block entity*. This is working as intended. If you want to detect changes in items, use a comparator.
But they can, you’re just detecting the wrong kind of interaction.
When it comes to the contents of an inventory, you use a comparator. When it comes to changes of a block, you use an observer. Putting items on and off a shelf is changing the contents of the shelves inventory. Powering them on and off to switch them between 3 individual shelves or a hotbar shelf is detected by observers, as that’s a change to the block