[MC-2813] Snow doesn't form / cannot be placed on upside down slabs / stairs Created: 11/Nov/12  Updated: 29/Dec/17  Resolved: 10/Apr/17

Status: Resolved
Project: Minecraft: Java Edition
Component/s: None
Affects Version/s: Minecraft 1.4.2, Minecraft 1.4.4, Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Snapshot 13w04a, Snapshot 13w05a, Snapshot 13w05b, Snapshot 13w06a, Snapshot 13w07a, Snapshot 13w09a, Snapshot 13w09b, Snapshot 13w09c, Snapshot 13w10a, Snapshot 13w10b, Minecraft 1.5, Snapshot 13w11a, Minecraft 1.5.1, Snapshot 13w16a, Snapshot 13w16b, Minecraft 1.5.2, Snapshot 13w17a, Snapshot 13w18b, Snapshot 13w18c, Snapshot 13w19a, Snapshot 13w21a, Snapshot 13w21b, Snapshot 13w22a, Snapshot 13w23a, Snapshot 13w23b, Snapshot 13w24a, Snapshot 13w24b, Snapshot 13w25a, Snapshot 13w25b, Snapshot 13w25c, Snapshot 13w26a, Minecraft 1.6, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 1.6.3, Minecraft 1.6.4, Minecraft 13w36b, Minecraft 13w37a, Minecraft 13w37b, Minecraft 13w38a, Minecraft 13w38b, Minecraft 13w38c, Minecraft 13w39a, Minecraft 13w39b, Minecraft 13w41a, Minecraft 13w41b, Minecraft 13w42a, Minecraft 13w42b, Minecraft 13w43a, Minecraft 1.7.1, Minecraft 1.7.2, Minecraft 13w48a, Minecraft 13w48b, Minecraft 13w49a, Minecraft 1.7.3, Minecraft 1.7.4, Minecraft 14w02c, Minecraft 14w03b, Minecraft 14w04a, Minecraft 14w04b, Minecraft 14w05b, Minecraft 14w06b, Minecraft 14w07a, Minecraft 14w08a, Minecraft 1.7.5, Minecraft 14w10b, Minecraft 14w10c, Minecraft 14w11b, Minecraft 1.7.9, Minecraft 14w17a, Minecraft 14w18a, Minecraft 14w20b, Minecraft 14w21a, Minecraft 14w21b, Minecraft 1.7.10-pre1, Minecraft 1.7.10-pre2, Minecraft 1.7.10-pre3, Minecraft 14w25a, Minecraft 1.7.10-pre4, Minecraft 14w25b, Minecraft 14w26b, Minecraft 14w26c, Minecraft 1.7.10, Minecraft 14w28a, Minecraft 14w28b, Minecraft 14w29a, Minecraft 14w29b, Minecraft 14w30a, Minecraft 14w30b, Minecraft 14w30c, Minecraft 14w31a, Minecraft 14w32a, Minecraft 14w32b, Minecraft 14w32c, Minecraft 14w32d, Minecraft 14w33a, Minecraft 14w33c, Minecraft 14w34a, Minecraft 14w34b, Minecraft 14w34c, Minecraft 14w34d, Minecraft 1.8-pre1, Minecraft 1.8-pre2, Minecraft 1.8-pre3, Minecraft 1.8, Minecraft 1.8.1-pre4, Minecraft 1.8.1, Minecraft 1.8.2-pre4, Minecraft 1.8.2-pre5, Minecraft 1.8.2-pre6, Minecraft 1.8.2-pre7, Minecraft 1.8.2, Minecraft 1.8.3, Minecraft 1.8.6, Minecraft 1.8.8, Minecraft 15w31c, Minecraft 15w32a, Minecraft 15w32c, Minecraft 15w33b, Minecraft 15w33c, Minecraft 15w34a, Minecraft 15w34b, Minecraft 15w34c, Minecraft 15w34d, Minecraft 15w35b, Minecraft 15w35d, Minecraft 15w35e, Minecraft 15w36b, Minecraft 15w36c, Minecraft 15w36d, Minecraft 15w37a, Minecraft 15w38a, Minecraft 15w38b, Minecraft 15w39a, Minecraft 15w39b, Minecraft 15w39c, Minecraft 15w41b, Minecraft 15w42a, Minecraft 15w43a, Minecraft 15w43c, Minecraft 15w44a, Minecraft 15w44b, Minecraft 15w46a, Minecraft 15w47a, Minecraft 15w47b, Minecraft 15w47c, Minecraft 15w49a, Minecraft 15w49b, Minecraft 1.8.9, Minecraft 15w50a, Minecraft 15w51a, Minecraft 15w51b, Minecraft 16w02a, Minecraft 16w03a, Minecraft 16w04a, Minecraft 16w05b, Minecraft 16w06a, Minecraft 16w07a, Minecraft 16w07b, Minecraft 1.9 Pre-Release 1, Minecraft 1.9 Pre-Release 2, Minecraft 1.9 Pre-Release 4, Minecraft 1.9, Minecraft 1.9.1 Pre-Release 1, Minecraft 1.9.1 Pre-Release 2, Minecraft 1.9.1 Pre-Release 3, Minecraft 1.9.1, Minecraft 1.9.2, Minecraft 16w14a, Minecraft 16w15a, Minecraft 16w15b, Minecraft 1.9.3 Pre-Release 1, Minecraft 1.9.3 Pre-Release 2, Minecraft 1.9.3 Pre-Release 3, Minecraft 1.9.3, Minecraft 1.9.4, Minecraft 16w20a, Minecraft 16w21a, Minecraft 16w21b, Minecraft 1.10 Pre-Release 1, Minecraft 1.10 Pre-Release 2, Minecraft 1.10, Minecraft 1.10.1, Minecraft 1.10.2, Minecraft 16w32a, Minecraft 16w32b, Minecraft 16w33a, Minecraft 16w35a, Minecraft 16w36a, Minecraft 16w38a, Minecraft 16w39a, Minecraft 16w40a, Minecraft 16w41a, Minecraft 16w42a, Minecraft 16w43a, Minecraft 16w44a, Minecraft 1.11 Pre-Release 1, Minecraft 1.11, Minecraft 16w50a, Minecraft 1.11.1, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 17w13b, Minecraft 17w14a
Fix Version/s: Minecraft 17w15a

Type: Bug
Reporter: Jon-Jacob Assignee: Maria Lemón
Resolution: Fixed Votes: 41
Labels: placement, slab, snow

Attachments: PNG File 2012-11-11_12.03.32.png     PNG File 2012-11-12_00.00.18.png     PNG File fixed_snow.png    
Issue Links:
Duplicate
is duplicated by MC-9036 can't place snow-layer-block on top o... Resolved
is duplicated by MC-9233 Unable to place snow on top of upside... Resolved
is duplicated by MC-16393 Carpets can be put on upside down hal... Resolved
is duplicated by MC-74501 Can't place snow on barrier Resolved
is duplicated by MC-74636 Cannot Place Snow Layers On Top Slabs... Resolved
is duplicated by MC-4029 Snow doesnt render properly on fences... Resolved
Relates
relates to MC-123678 Snow layers shouldn't be placeable (o... Resolved
CHK:
Confirmation Status: Confirmed

 Description   

When you have an upside down slab and it is snowing in the game, the snow will land on whole blocks but not upside down slabs. I believe that this is a bug because you can place red stone, torches, and other things on slabs, but snow doesn't fall on them.



 Comments   
Comment by user-f2760 (Inactive) [ 13/Apr/16 ]

How do you know it affects 16w15b? You can't download it yet, it's in the process of being uploaded. (Neither client nor server are downloadable ATM.)

Edit: It can now.

Comment by Marcono1234 [ 21/Dec/15 ]

What I meant was that having a screenshot of the fixed situation might make people think that it is fixed already. But it is probably not such a big deal

Comment by Markku [ 07/Dec/15 ]

Marcono1234, please explain... Irritating? It has been there for years now, and I fail to find anything irritating in it, except the obnoxious falling snow disturbing the view... (Btw, I can not make a new screenshot of the fixed state; all my old various fixed MC versions I made back then are long gone now.)

Comment by Marcono1234 [ 07/Dec/15 ]

The screenshot from the fix provided by bugi74 might be a little bit irritating

Comment by [Mojang] Grum (Erik Broes) [ 30/Oct/15 ]

Barriers is Working as Intended. Removed from the ticket title.

Comment by Samuel Shank [ 22/Oct/15 ]

Confirmed for 15w43a

Comment by branza [ 29/May/15 ]

The packed ice might be intended to be consistent with normal ice.

Comment by Marcono1234 [ 29/May/15 ]

Confirmed for

  • 1.8.6

Also for

  • Slimeblock
  • Packed Ice
Comment by KingSupernova [ 12/Feb/15 ]

Also occurs with hoppers.

Comment by Hitohora [ 11/Jul/14 ]

Confirmed for MC 14w28b.

Comment by [Mod] Torabi [ 28/Jun/14 ]

That is correct. A slab takes up a full block, even though it visually only occupies have the block. They've added special blocks to allow you to stack two identical slabs in the same block, but it's not possible to mix them because of how blocks are stored. It would be too many possible combinations for the 4-bit metadata each block is allowed.

However, an "upside-down" slab occupies the top half of a block space, so it should be possible for snow to form or be placed on top of it, without it floating.

Comment by ggxl [ 28/Jun/14 ]

I also noticed that if you have one type of slab and try to place another (of a different type) on top, it behave differently than if you were placing the same type. It behaves as if the slab is a full block.

It would look strange if snow was hovering a half block above the ground, so it was probably disabled.

I think that the game can't store 2 separate partial blocks in one block of space

Comment by Itouch2 [ 23/Jun/14 ]

Confirmed for 14w25b.

Comment by Itouch2 [ 25/Apr/14 ]

Confirmed for 14w17a

Comment by Itouch2 [ 15/Mar/14 ]

Confirmed for 14w11b

Comment by Itouch2 [ 09/Mar/14 ]

Confirmed for 10c

Comment by Itouch2 [ 23/Feb/14 ]

Confirmed for 08a

Comment by Kumasasa [ 12/May/13 ]

Please do not mark unreleased versions as affected. You do not have access to this yet.

Comment by Markku [ 04/May/13 ]

A) This is issue is not about regularly places stairs (or slabs) (they are in the screenshots just for completeness/comparison).
B) To support regularly placed stairs or slabs, full support for sub-blocks is not needed - there are easier solutions, already used for e.g. raindrop splashes (although bit crudely) and aiming/shooting through the empty parts of stair blocks etc.
C) Even if sub-blocks would be used for B, it would not cause crashing and lag - crashing and lag is caused by bugs and poor design/implementation, respectively.

Comment by Bud Gillett [ 03/May/13 ]

In orger for this to generate, especially for regularly placed stairs, they would need to add "sub-blocks" in order to create the look of snow laying on the stair or on the regularly placed slab. This could cause crashing and lag.

Comment by Markku [ 03/Mar/13 ]

Fix
Pretty much a rewrite (at least when compared to MCP version).

BlockSnow
    public boolean canPlaceBlockAt(World world, int x, int y, int z) {
        int blockId = world.getBlockId(x, y - 1, z);
        if (blockId == 0)
            return false;
        if (blockId == Block.glass.blockID || blockId == Block.leaves.blockID)
            return true;
        if (Block.blocksList[blockId].isOpaqueCube()) {
            if (world.getBlockMaterial(x, y - 1, z).blocksMovement())
                return true;
        }
        // Check the top surface more accurately, the fix for halfslabs:
        if (world.doesBlockHaveSolidTopSurface(x, y-1, z))
            return true;
        
        return false;
    }

And then remove some unnecessary checks in World:

World.canSnowAt()
            ...
                int blockIdUnder = this.getBlockId(x, y - 1, z);
                int blockIdOver = this.getBlockId(x, y, z);
                if (blockIdUnder != 0 && blockIdOver == 0
                        && Block.snow.canPlaceBlockAt(this, x, y, z)
                        /*&& blockIdUnder != Block.ice.blockID && Block.blocksList[blockIdUnder].blockMaterial.blocksMovement()*/) {
                    return true;
                }
            ...

Note, added the glass block separately. Does not make sense to allow snow on top of leaves (pretty non-solid stuff), but disallow it on top of smooth solid chunk of glass, especially when torches have similar special check. Easy to remove if really not intended. Also, moved the leaves check to that simpler 'if', as it does not need to check for blocksMovement, at least for now.

I would have added ice, too, but noticed the specific disallowing in the current World.canSnotAt() method. Though I wonder why so, and wonder why the check was there and not in the method in BlockSnow.)

Changes tested on 1.4.7. Adding screenshot 'fixed_snow.png' to show results. Snow near the torches (except on furnace blocks) is hand placed, while the snow nearer has rained on the blocks.

Comment by Pete Frisky [ 05/Feb/13 ]

Seeing as redstone and rails can be placed on top slabs and upside down stairs this is more a bug than an unimplemented feature.

Comment by Kimitsu Desu [ 02/Feb/13 ]

Nor can you place the new snow blocks on these, as of 13w05b

Comment by Kumasasa [ 11/Nov/12 ]

Confirmed.
On all double slabs snow does form.

Comment by Anon Ymus [ 11/Nov/12 ]

This is most likely because half-slabs are transparent. You will notice that snow also does not show up on glass, etc. Does this bug apply to double half-slabs?

Generated at Sun Jan 12 11:59:08 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.