mojira.dev
MC-2334

Sneaking on shorter than full blocks (chests, enchantment table...) will make you fall nonetheless

The title says it all.
Sneaking should prevent you from falling off a block. In 1.4.3 it doesn't prevent you from falling off a chest. Might be related to the fixed hitbox of chests.

I have seen that enderchests have been updated too, so it might happen there too. Atm you can sneak on enderchests in 1.4.3, which contradicts the behaviour of normal chests

Also affects soul sand.

Related issues

MC-3365 Can't sneak on chests MC-3828 shift walking off chests MC-4460 cannot sneak on chest MC-6443 Shift (Crouch) does not keep you from falling off a chest. MC-8025 Sneaking chest bug MC-8635 Falling of specific blocks whilst 'crouching' MC-11082 Sneaking With Trapdoors MC-11363 Sneaking on a chest that's on an ice block doesn't prevent you from falling off the side. MC-13155 Falling from Block while Sneaking MC-24931 Sneaking does not work on double chests, but on single chests. MC-31987 [UPDATED] Sneak on Chests and Other Non-Full Block Objects, You Fall MC-47716 Shifting is not possible on soulsand to reach the very edge of the block and still stay on it (it was before) MC-47860 When I was working with an enchanting table, holding shift for sneak, it still makes you fall off the block if you go to its edge. MC-49681 Sneaking On Enchantment Table MC-52436 Falling through blocks when going from soulsand to any halfslab MC-60929 Ingore (Duplicate) -Sneak off soulsand.- MC-61624 Sneaking doesn't work in some cases MC-65924 Shifting on chests MC-69754 Sneaking on a chest's borders makes fall off the chest MC-75883 Sneaking on a cauldron will make you fall inside it MC-76202 Still falling while crouching on a block with carpet next to it MC-78178 Even when crouching, you can still fall off chests MC-82479 Crouch becomes deactivated on falling to a 1/16 block like carpet or lilypads MC-84393 Sneak Off Soul Sand MC-96151 Sneaking on top of a chest (not tested with a double chest) will not stop you from falling off. MC-97999 shifting on chest is inconsistent MC-104574 player falls from top of a chest even when shifting! MC-105115 I'm falling while sneaking on grass path

Comments

Tavis

Confirmed for both chests and ender chests.
It only happens when the block below the chest has a hitbox that extends beyond the edge of the chest. The same thing happens with end portal frames when there is an open hatch on the block below them.

kumasasa

As of 1.4.5 sneaking on Enderchests fails too.

score

This is also the (rather infamous) case with soul sand (the bug's as old as time itself), and with extended upward-facing pistons (extend while you have a block above your head to allow yourself to stand on the piston despite the head being in the way).

Deleted Account

Shh, Ethos fall trap will not work any more then xD

David Knag

Happens with chests, cakes and more. darn

yut951121

I tested about this and it looks like the game checks if there is danger to fall off & take damage. Only things should be fixed are : Cake, 3 kinds of chest, Cactus. Other blocks are ok because there's no danger to fall off.

kdbensidisbaka

Confirmed in 1.6.1 and 1.6.2

Fenhl (Max Dominik Weber)

Affects 1.7.2

marcono1234

Confirmed for 14w21b for repeaters and comparators next to the block you are standing on

Calvin Stromwall

Isn't this how sneaking is intended to work? It's been this way since Alpha when it was added. Sneaking only protects you from falls of 1 block or higher.

Fenhl (Max Dominik Weber)

@@unknown: The problem here is that you can fall of a cliff if you sneak off a chest which is on the edge of that cliff. You fall off the chest because the drop is less than a block, but sneaking speed is still fast enough to have you miss the block and fall off.

Calvin Stromwall

@Fenhi: Yes, but to prevent these issues would be complicated. Every time you sneak near an edge, it would have to calculate your velocity and see if you would land safely or not, less than one block below where you were.

jonathan2520

This would be working as intended. The issue here is really that one key does many different things:

  • Hide your name tag and muffle footsteps in PvP.

  • Slow you down to improve movement precision or balance PvP.

  • Prevent dangerous drops.

  • Prevent drops at all.

See also MC-2404 which is closely related.

Sonicwave

Confirmed for 1.8.

pablete1234

i would mark this as working as intended, shift prevents you from falls that are 1 block high or more, for less than 1 block fall it does not prevent falling

BoxFigs

Hmm... It looks like chests and ender chests are the only blocks with this problem in 1.8. Any other partial block prevents falling.

If there's less than a block of distance between you and the block below, you can fall off. If there's more than one block of distance, you don't fall off. However, you can fall off chests all the time, no matter the amount of distance. That's bug here.

Sonicwave

The main issue is that chests have a hitbox smaller than a full block (both horizontally and vertically), causing you to fall off, but still miss the remainder of the block under the chest. Making the chest have a full hitbox (either horizontally or vertically) would fix the issue.

jonathan2520

Indeed. If there's a full block underneath a chest, there's a 1/16 block edge you would land on if you killed your lateral momentum. If you remove that block or substitute a smaller block like a fencepost, a bottom slab, or even another chest, you can't sneak off of the chest. Not to say it isn't worth changing because its behavior is predictable in the end. Unequivocally bad behavior is still bad. It should try harder to stick to invariants it purports to profess, not chicken out of literal edge cases.

Sonicwave

Confirmed for 1.8.2-pre1 (also with cacti).

KingSupernova

Why is this considered a bug? Sneaking only prevents a fall of one or more blocks. Otherwise you couldn't sneak off of things like slabs or snow.

Sonicwave

Confirmed for 1.8.7.

KingSupernova

Could someone please fix the description? It hasn't been updated since 1.4.3 and is completely misleading (and wrong about ender chests). It seems to be saying that sneaking should prevent a fall of any distance, which of course would be a ridiculous change. The actual problem here is that some blocks (like chests) have a smaller hitbox (both height and width), and if they are on the edge of a long fall, sneaking will still allow you to fall off because it detects the small ledge below them. It is possible to stand on the ledge, but due to the fact that players can adjust their momentum in midair, you will often keep holding a movement key for too long and miss the ledge. So this isn't really a bug, just a rather annoying feature of how sneaking works. Some possible ways to fix this are:

  • Change the chest hitbox back to a full block. It could still be transparent on the edges, so it needn't be a visual change. This problem would still occur elsewhere, but few people have complained about other blocks, so it's not as much of a problem.

  • Remove the player's ability to move around in midair. This would make players always fall onto the ledge, unless they were moving faster than normal before they fell off. I also think that this would be a nice change anyway, as I see no reason the player should be able to move around when there's nothing to stand on. The air control is sometimes useful in in survival, but it's not used that much and I don't think removing it would be a problem. It is helpful in creative, so hopefully it would be left in there.

  • Change sneaking so it will check for a fall of 3/4 of a block (or some other amount) instead of 1. This would fix chests, soulsand, tall stacks of snow layers, etc. Smaller falls like slabs and beds would still work as before.

  • Have the game automatically move the player towards a landing place when falling. Not a big movement, just enough to have them land on the ledge. Basically the same speed as the player's air control, just with faster reaction time.

  • Change the sneaking check so that it checks for a specific hitbox size below in the direction the player is trying to move. It would require at least, say, half a block of space to land on before it lets the player fall off.

  • Have the game check the hitboxes below and the player's momentum to ensure that if it let the player fall off, they would land on something. This would be quite hard to implement and would still fail sometimes due to air control. It could either assume while checking that the player will be controlling away from the ledge, or could be implemented along with suggestion #2 or #4.

Calvin Stromwall

@@unknown finally someone else who sees this isn't a bug... The first two solutions are kind of game breaking and the last, as you said, hard to implement. I think the third is definitely a good option to fix this.

jonathan2520

This and MC-2404 are really the same thing. Over there you can find more about the merits (or lack thereof) of particular solutions.

A single-frame tap makes you move about a fifth of a block, on ground which slows you down more than air. You'd still fall off if you killed air control, but now leaving no way to compensate. Air control is rather important in games, too.

A different threshold can solve some individual cases, but never staircases.

I think an invisible barrier in mid-air is best in the end. Its task should be to make sure that if the game sees something below that allows you to sneak off of something, you will land on it when doing so. It could be made to only work at low momentum, or there could even be a bit of state that tracks when you snuck off that way, to prevent it from stopping you when it really shouldn't.

KingSupernova

MC-2404 is actually completely different. That one is about the fact that air control can move you in midair. It's even less of a bug than this one.

An "invisible barrier in mid-air" is exactly the same as regular sneaking. What matters is when the game lets you fall off (when it removes the barrier).

Anon Ymus

I would argue that MC-2404 is about the bug you are describing; once falling, it is possible to end up falling more than 1 block because holding down the sneak key doesn't do anything while in midair. This ticket describes how it is possible to fall off blocks that are shorter than 1 block tall even if you don't end up falling more than 1 block in total. I wouldn't say that this is obviously intended or a bug, but I will mark it so that Mojang can choose.

jonathan2520

These two issues are different problematic aspects of the same mechanic, is what I'm saying. You can't ignore the other one. It's best to think about the mechanic and what it should do, to solve it all.

I would describe the current sneaking mechanics as making the rear of your bounding box snag on edges. When I say invisible barrier, I mean you'd snag as though the block underneath you were moved up to your feet, provided you're pretty close (e.g. within a block) and not moving too fast. Perhaps it could be disabled while the player is still moving up, so players won't have an even harder time sneaking down full blocks (to keep their name tag hidden in PvP). If you jump you'll reach over the one-block barrier at the apex anyway, and you're not exactly asking not to fall.

KingSupernova

That's an interesting idea, but it would lead to the player floating in midair if they were on, say, a fence post above a full block.

jonathan2520

What? You simply wouldn't fall off, exactly as things are now. The suggested mechanic just tries to minimize your final fall damage by constraining horizontal movement. If there's no way to do that (because you started sneaking when it was already too late), you will fall all the way to the void if that's how things are.

KingSupernova

Please explain better what you mean. I'm not understanding what you are proposing.

Fenhl (Max Dominik Weber)

Affects 15w50a.

Fenhl (Max Dominik Weber)

Affects 16w02a.

Fenhl (Max Dominik Weber)

Affects 16w04a.

Fenhl (Max Dominik Weber)

Affects 16w05b.

Fenhl (Max Dominik Weber)

Affects 16w06a.

Fenhl (Max Dominik Weber)

Affects 16w07a.

Fenhl (Max Dominik Weber)

Affects 16w07b.

Fenhl (Max Dominik Weber)

Affects 1.9-pre1.

Fenhl (Max Dominik Weber)

Affects 1.9-pre3.

Fenhl (Max Dominik Weber)

Affects 1.9-pre4.

Fenhl (Max Dominik Weber)

Affects 1.9.1-pre3.

Fenhl (Max Dominik Weber)

Affects 1.9.2.

Fenhl (Max Dominik Weber)

Affects 16w20a.

Vitold Chernatinski

Affects 1.10

null

Confirmed for 1.10.2.

Alexander Hammett

Erik Broes

Confirmed

chest, enchanting_table, sneaking

Minecraft 1.4.3, Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Snapshot 13w01a, ..., Minecraft 16w32a, Minecraft 16w32b, Minecraft 16w33a, Minecraft 16w35a, Minecraft 16w36a

Minecraft 16w44a

Retrieved