Droppers should push items into chest boats/minecarts and hopper minecarts that they face. This seems to work correctly when these entities are placed directly in front of droppers. However, droppers can also try to push items into container entities on the wrong sides. This can lead to items going in unintended directions and droppers being unable to eject items when nothing is in front of them.
Closer testing and analysis reveals that the area droppers check for container entities is offset by -0.5 blocks in each direction. It is as if the check range was coded based on the center of the dropper block, when in fact blocks are located by the integer coordinates at their bottom northwest corner. This image illustrates the area that is checked vs. the area that should be checked by a dropper facing south.
[media]
Steps to reproduce
(
[media]is set up for these steps.)
Place droppers facing north, south, east, and west and put items in them.
Place activator rails under the droppers and power the activator rails.
Place chest minecarts or hopper minecarts on the activator rails under the droppers.
Power each dropper.
Place a dropper facing upwards and put items in it.
Place activators rails next to the upward-facing dropper on all sides and power the activator rails.
One at a time, place a chest or hopper minecart on one of the activator rails next to the upward-facing dropper, and then power the dropper.
Repeat all of the steps above with a hopper minecart that has all slots filled with items so that it cannot accept any from the the droppers.
Remove all of the minecarts from the above setups and replace the activator rails with carpet.
Place chest boats on the carpets and repeat all dropper tests using boats-on-carpet instead of minecarts.
Expected results
In each tests the dropper should eject items when powered.
Observed results
Droppers facing south and east place items into empty storage minecarts/boats below them, and the dropper facing upwards places items into empty storage minecarts/boats on its north and west. When you place full hopper minecarts in these positions (step 8) the droppers do not eject items.
Update: following the comment below you can also place the storage entities in more exotic positions to see the full extent of the bug, for example, try placing a chest minecart 2 blocks north and 1 block down from a north-facing dropper.
Linked issues
relates to 3
Attachments
Comments 3


This is another one of those bugs that came over to Bedrock with the original Java port and was subsequently fixed on Java, but not on Bedrock: see MC-100584.
According to a Bedrock code-digger:
Looks like `DropperBlockActor::_getContainerAt()` is the function where they use the incorrect offset.

Applies to the new crafter block as well. Replace any of the droppers in the test world with a crafter and put a stack of flowers in its first slot to test.
The carpets being necessary to trigger the bug with chest boats shows that the droppers are checking for container entity hitboxes within 0.5 blocks below the dropper when facing south and east, and within 0.5 below their top face to the north and west when facing upwards.
Further test results are as follows, with check ranges stated relative to the bottom NW of the dropper.
Facing Direction
Observed Check Range
Observed Offset
Expected
Check Range
Up
-0.5 X to +0.5 X
+0.5 Y to +1.5 Y
-0.5 Z to +0.5Z
down, north, and west by 0.5 blocks
0 X to +1 X
+1 Y to +2 Y
0 Z to +1 Z
Down
-0.5 X to +0.5 X
-1.5 Y to -0.5 Y
-0.5 Z to +0.5Z
down, north, and west by 0.5 blocks
0 X to +1 X
-1 Y to 0 Y
0 Z to +1 Z
North
-0.5 X to +0.5 X
-0.5 Y to +0.5 Y
-0.5 to -1.5 Z
down, north, and west by 0.5 blocks
0 X to +1 X
0 Y to +1 Y
-1 Z to 0 Z
South
-0.5 X to +0.5 X
-0.5 Y to +0.5 Y
+0.5 Z to 1.5 Z
down, north, and west by 0.5 blocks
0 X to +1 X
0 Y to +1 Y
+1 Z to +2 Z
East
+0.5 X to +1.5 X
-0.5 Y to +0.5 Y
-0.5 Z to 0.5 Z
down, north, and west by 0.5 blocks
+1 X to +2 X
0 Y to +1 Y
0 Z to +1 Z
West
-1.5 X to -0.5 X
-0.5 Y to +0.5 Y
-0.5 Z to 0.5 Z
down, north, and west by 0.5 blocks
-1 X to 0 X
0 Y to +1 Y
0 Z to +1 Z