mojira.dev
MC-97916

Items receive too much momentum when they're squeezed

Since 15w38 items, that are squeezed against other blocks, receive a lot of momentum. This causes them, for example, to fly out of the top of 3x3 glass elevators.

One harmful side effect of this change is that saplings in automated tree farms, where pistons break the leaf blocks, are spread in a much larger area. The few hoppers, that were enough to collect saplings in 1.8, would only pick up a fragment in the versions since 15w38. The majority of the saplings now fly through the back of the pistons and also seem to glitch through blocks and land in the redstone wiring. This more or less breaks the concept of automated tree farms.

Maybe it's possible to give the items less momentum again like in 1.8 or at least not so much. The increased speed is mostly an annoyance.

How to recreate to visualize:
Build an upwards facing dropper and several layers of 3x3 full blocks centered on the dropper on top. Depending on the version the items fly with more or less speed through the full blocks on top after activation of the dropper (see first picture)

The other pictures show how far the saplings are propelled outside of the tree farm chamber.


Code analysis by @unknown can be found in this comment.

Linked issues

Attachments

Comments 9

This bug really does mess up tree farms, I wouldn't really complain if it was an understable feature of the game but this is nonsense and it makes the game look extremely glitchie and buggie. Please fix.

affects 1.9 as well

Is this a duplicate of MC-89030? idk if it is

@unknown No, it's not. MC-89030 says pistons move things that shouldn't be moved, and this ticket says items move too fast when they go through blocks.

confirmed in 1.9.2

Please link to this comment in the description

The following is based on a decompiled version of Minecraft 1.9 using MCP 9.24 beta.

The reason why this happens is because the method net.minecraft.entity.Entity.pushOutOfBlocks(double, double, double) only increases the motion with the same value. This way the motion gets higher and higher. This could be solved by using for example this.motionX = Math.min(this.motionX + (double)(f1 * f), 0.75d); or by using a limited growth.

Is this bug still a problem... That is a accelerating motion of items actually pushed into a block by piston or dropper?

Really it is a bigger problem for 'glass' item elevators than tree farms, and the main decription to be updated to reflect that.

This also does not appear to be the same as a motionless object that is suddenly inside a block due to a closing trapdoor or cobble fence connecting. In that case the items rise up VERY slowly without acceleration. But it can take about 4 to 5 minutesfor the items to rise up 100 blocks or more, making items despawn before reaching the top a very tall glass item elevator.

Ideally, what should happen is that item motion when inside a block degrades to a fixed vertical speed, say about double the speed you get from an item at rest finding itself inside a block. It should not accelerate.

ilmango

Jens Bergensten

Community Consensus

Minecraft 1.9 Pre-Release 2, Minecraft 1.9, Minecraft 1.9.1, Minecraft 1.9.2, Minecraft 1.10.2

Minecraft 16w32a

Retrieved