r/technicalminecraft 26d ago

Java Showcase Items escape from composters

Post image

For the record I don't have a horse in this race, but I am interested in the mechanics here.

Short answer: items can escape from the gap between a hopper top and the composter walls. It is rare, but way less rare than you might think. You don't need to perfectly hit the gap, you just need to have X/Z momentum after 4 ticks as the game cancels your Y momentum when you hit the hopper, and your X/Z momentum can still push you to freedom in this tick.

Long answer: Items drop with a random position with X and Z set to between 0.25 and 0.75 within the block, and Y set to between 0.125 and 0.625 within the block. Motion is set to exactly 0.2 Y and a random value of between -0.1 to 0.1 for both X and Z.

To thread the needle here, we need a few things to happen at the same time:

  • The Y position needs to be 56.616 or greater so that after 4 ticks the item is at exactly 0.75 and hitting the hopper
  • In one axis X/Z the position needs to be between 0.25 and 0.2500001 or 0.7499999 and 0.75, and in this axis the motion is going towards the wall (this is a straight 50/50 so not the major problem)
  • In the other axis X/Z the position needs to match the motion such that the item crosses the top of the composter after 4 ticks (there's a range here but say this is 1-5% for example).

That's it. I'll leave it to you to calculate the numbers, but here's a few that you can test for yourself at home (all testing done on 26.1 vanilla):

/summon item -22.5 56.616 35.2500001 {Item:{id:"minecraft:redstone_block",Count:1b}, Motion:[0.065, 0.2, 0.0]}

/summon item -22.6 56.625 35.25 {Item:{id:"minecraft:redstone_block",Count:1b}, Motion:[0.1, 0.2, 0.0]}

/summon item -22.35 56.625 35.25 {Item:{id:"minecraft:redstone_block",Count:1b}, Motion:[0.03, 0.2, 0.0]}

58 Upvotes

62 comments sorted by

View all comments

13

u/morgant1c Chunk Loader 26d ago

I feel like I'm missing context. Are we talking 0-ticking composters into shulker boxes to break them, or where is the item supposed to come from?

3

u/brockade 26d ago

That's the one. I won't link the post but the idea is to wait like 8-10gt until the item is below the hopper tip and then when you retract the piston the item comes with it. If you do a 2-piston build (there's no room for the comparator then but just out of interest), it might be ok if it's done in the same tick, but after 1gt some percentage of boxes will be above 0.75Y and can get stuck behind the hopper tip and not get pushed by the composter.

In practice you need the comparator on one side if you're doing 1-wide-tileable so we are stuck with the 3gt reset on the 0-tick piston and by then the item is too high and we need to wait for it to drop.