Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-108528

Hopper-carts pulling order bug, pull from X+1, Y+2 Z+1. Featuring how to create and control pulling direction



    • Confirmation Status:
    • Platform:



      I think we’re all familiar with hopper-minecarts pulling from other minecarts with inventory diagonally on X+1, Y+2, Z+1 going back years now MCPE-57637 and recently hopper-carts began going even more crazy with the fix for MCPE-54244 where new items in “infected” hopper-mc MUST be drained first.

      I had done some reading and I believe the main reason behind this bug existing for so long is the lack of details on previous tickets to explain how serious this issue is and its connection and history of fixes I believe are related all together:

      MCPE-57637, MCPE-54244, MCPE-80555, MCPE-94293, MCPE-59302, MCPE-68912

      Lets start building:
      1. Place chest and attach hopper to top side and then add 1 upside down slab to side of hopper and 4 more slabs to the other side to make flat surface for 3 activator rails.
      2. Then place full block on top of slab furthest way from hopper and add redstone torch and repeater towards activator rails and place activator rails on 3 remaining blocks, on the full block, place lever on top and then place observer facing out and place lever on its face as well.
      3. Add 2x2 inverted slabs on top of activator rail and place 4 detector rails on top of slabs, parallel to rails bellow.
      4. Block each of detector rail exits with full blocks.
      5. Add frames with items for orientation for example:
      White – X=X, Y=Y+2, Z=Z; - Correct pull
      Red – X=X+1, Y=Y+2, Z=Z; - 1 off to Right
      Green – X=X+1, Y=Y+2, Z=Z+1; 1 off to Right and Bottom
      Blue – X=X, Y=Y, Z=Z+1; 1 off to Bottom
      6. Place hopper-cart on activator rail and use lever on observer to send a test pulse.
      7. Place 4 remaining hopper-carts on top for each colour code in order: Blue, Green, Red, White.
      8. Fill containers with matching colours
      9. Use either of levers.


      Expected Results:

      1. On Pulse - Chest contain white wool
      2. On Switch – Hopper-mc pulls white wool from hopper-mc directly above it.

      Actual Results:

      1. On Pulse – Chest contain blue wool
      2. On Switch – Hopper-mc pulled from each container above in the same order I placed them it. Blue, Green, Red, White

      Additional Observation:

      1. For hopper-mc to pull white wool, red wool container must be empty; to pull red wool, green container must be empty; to pull green wool, blue container must be empty.
      2. This order is fixed. While white wool is pulled, if any other containers receive more wool, it will force pulling from that container instead. I assume MCPE-54244 is related to this.
      3. Pull order is based on order in which hopper-minecarts were placed.
      4. If 2x2 square of hopper-minecarts cross chunk border the pulling hopper-mc would only remember order of those within its own chunk.
      5. Hopper-mc pushed towards brick wall pole is still able to pull diagonally. Tile-able designs require each hopper-mc to be placed individually and be equally pushed to the brick wall to prevent cross-contamination (very time consuming).
      6. Most effective way to keep hopper-carts pulling from Y+2 only was by having content in that container only when bottom hopper-cart is placed.

      In summary:

      Hopper-carts pull diagonally if given a chance to

      Hopper-cart bellow can pull from chest-minecarts

      Must pull in the same order minecart-containers above were placed – has the ability to prioritize pulling

      Pushing towards brick wall did not affect pulling range

      Also suggest that the source of the bug is a result of upper minecarts having their “collision box?” overlaying each other at the edge of scan from minecart bellow

      Diagonal pulling only pulls from minecarts towards positive X Y Z and since I could not find any information as to how does hopper-minecart actually scans for target (mathematical formula), I can only assume this is caused by the lack of off-set for the calculation resulting in either bottom hopper-cart scanning extra area towards positive or hopper-cart invading scanned area of a hopper bellow with extra size towards negative. It could be both actually although I guess it is the second one.

      I am aware that this could be considered a “duplicate” ticket and I really hope Moderators won’t close it so that players can find it and learn how to manage this diagonal pulling effect until developers can deal with it. I should probably point out that his is a new behaviour that I assume is the result of fix to MCPE-54244 and unresolved issue MCPE-57637 which exists for about 2 years now with label “won’t fix” or “work-as-intended” and now not only “can” pull diagonally but now hopper “must” stop pulling from hopper-cart directly above to pull from “infected” hopper-carts first if they have items inside.

      This bug affects builds such as: Storage/item-transportation systems, Super-smelters which are the most complicated and time-consuming builds with practical application in survival worlds. It took me two days of experimenting in creative world with different combinations until I found a behaviour pattern that I want to share with you…

      2 Clips attached and world in creative mode with example ready, one shows the “new” bug, the other solution – Make sure to focus on the order of hopper-carts being placed. (I am facing East on clips (X=X++))

      That’s all I can do for now, I gathered the all information I could, so don’t hesitate to ask me any questions, I will answer as soon as I can.

      Thank you very much for reading,

      P.S. Ticket MCPE-46706 describes a behaviours which have very similar "angle" of operation - perhaps it is worth reading through as well.




            Gothener Krzysztof Matela
            0 Vote for this issue
            2 Start watching this issue