18.104.22.168 Beta, 22.214.171.124 Beta, 1.16.10, 1.16.201 Hotfix
This issue is very similar to MCPE-57637, except that it only applies to hoppers in a very specific configuration. It also appears to be at least partly a hopper problem and not just a minecart with hopper problem.
The attached world contains the following demo build:
Steps to reproduce:
- Open the attached demo world.
- Place a few stacks of any item in the hopper.
- Ensure the hopper minecart is empty.
- Press the button to send the hopper minecart to the other end of the track.
- Look at the hopper minecart's inventory.
The inventory is empty.
The inventory contains one item for each time it passed the hopper.
The problematic behavior depends on all of the following being true:
- The hopper's output funnel must be pointed downward. If it's pointed to the side, no item is transferred.
- The hopper must be enabled (deactivated, i.e. it must not be powered directly by a redstone component nor adjacent to a powered solid block). Activating the hopper disables its ability to push an item out, which makes it seem like that's a crucial element of what's happening, and that would suggest that it's at least partly a hopper bug.
- Either there must not be a container-type block below the hopper, or the container must not be able to accept the items being pushed by the hopper (no empty slots and no partial stacks of the same item type).
- The hopper minecart must roll through a curve adjacent to but one block below the hopper. If the track is straight or on the same level as the hopper, no item is transferred.
Note that a hopper pointing downward to another hopper (or hopper minecart, as in this case) is the special configuration that transfers items between them at double the normal speed. I tend to think of this is the upper hopper pushing one item and the lower hopper or minecart pulling one item, both in the same redstone tick. That's why this seems like this could be partly a hopper bug.
I believe what's happening is that as the hopper minecart rolls through the curve, its collision box intersects the block space below the hopper, so it tries to pull items from the hopper just as it should if it were moving below it on a straight track. However, this is relatively recent behavior, and it's also puzzling because in configurations such as this there is usually a second hopper below the first. So the minecart should be crashing into the lower hopper. yet there is no indication of interference. The demo world is a much simplified version of my auto-smelter, which worked properly when I built it last year. It no longer works exactly right because when the hopper minecart, which is loading the items to be smelted into furnaces, is making its final trip or two, its inventory usually has an empty slot that allows it to accept bamboo from the fuel hopper as it passes by. The bamboo then winds up in the input slots of some of the furnaces. All the desired items have been smelted by the time this happens, so the machine is still usable, but it's inconvenient to have to remove the unsmeltable bamboo from the input slot of each furnace after the job is done.