mojira.dev
MCPE-13417

Item travel very slow when using hoppers.

Hoppers don't spit out items instantly. Instead they wait until they are completely filled up and then spit out items. For example, if I put a stack of diamonds in the hopper the other hopper that the diamonds will travel to won't spit out the diamonds instantly. It takes a very long time for the items to travel long distances and I hope you guys can fix it in 0.14.1 or something. Thank you for your time! 😃

Linked issues

Attachments

Comments 5

Confirmed in 0.14.0 alpha.

I investigated this further. The glitch doesn't occur when the hoppers are cascaded vertically. And for horizontal hopper pipes, the glitch sometimes occurs and sometimes not. More specifically, a perfectly working horizontal pipe may stop working after reloading the world, and if you reload it again the pipe may start working correctly. So,

  • The bug is in the "push" action of hoppers. Not in the "pull".

  • The bug depends on the order of hoppers being processed in the same tick.

Steps to reproduce:

  1. Build a structure shown in my screenshot

[media]
  1. .

  2. Put a stack of items into the chest α.

What actually happens:

There should be a moment where all of the three comparators are activated, but sometimes that doesn't happen.

My hypothesis is as follows (TL;DR):

Suppose we had 2 items X and Y in the chest α, and hopper A were to be processed first, then B, then C.
At the game tick t = 0,

  1. Hopper A checks its cooldown counter and finds it's 0.

  2. Hopper A attempts to push an item inside it to hopper B, but fails since it has no items.

  3. Hopper A attempts to pull an item from chest α, namely the item X. This succeeds so the cooldown counter of hopper A becomes 8.

At t = 1,

  1. Hopper A subtracts 1 from its counter. The counter becomes 7.

At t = 8,

  1. Hopper A subtracts 1 from its counter. The counter becomes 0.

  2. Hopper A pushes the item X to hopper B, and resets the counter of both A and B to 8.

  3. Hopper A pulls the item Y from chest α, and resets its own counter to 8. (This is actually a no-op though.)

  4. At this time, hopper B is supposed to check its counter and subtract 1 from it. But in reality it doesn't, which is the cause of glitch.

At t = 9,

  1. The counter of hopper A becomes 7.

  2. The counter of hopper B also becomes 7 while it's supposed to be 6 now.

At t = 15,

  1. The counter of hopper A becomes 1.

  2. The counter of hopper B becomes 1, while it's supposed to be 0 now. So it should push the item X to hopper C but actually it doesn't.

At t = 16,

  1. The counter of hopper A becomes 0.

  2. Hopper A pushes the item Y to hopper B, and resets the counter of both A and B to 8. Yes, hopper B is suspended again before getting a chance to push the item X. Now hopper B has two items X and Y, which shouldn't happen.

  3. Hopper A attempts to pull an item from chest α, but fails since the chest is now empty.

  4. At this time hopper B is supposed to decrease its counter but it doesn't. The counter remains to be 8.

At t = 24,

  1. The counter of hopper A becomes 0, but it has nothing to do now.

  2. The counter of hopper B becomes 0.

  3. Hopper B pushes the item X to hopper C, and resets the counter of both B and C to 8.

  4. Hopper C should decrease its counter but again, it doesn't.

At t = 32,

  1. Hopper B pushes the item Y to hopper C, and resets the counter of both B and C to 8. Now hopper C has two items X and Y.

At t = 40,

  1. Hopper C pushes the item X to chest β.

At t = 48,

  1. Hopper C pushes the item Y to chest β.

Same here. i made a lot with hoppers the last days. (timers,sorting machines etc.) i can confirm it is fast downways and slow sideways.

Fixed in 0.14.1. Thanks!

This particular issue has been fixed in 0.14.1 but fixing it incurred a different problem, namely MCPE-14075.

Sam Hernandez

(Unassigned)

Unconfirmed

Phone - Android - Motorola Moto X

4.4.4

hopper

0.14.0, 0.14.0 Beta 6

0.14.2

Retrieved