Minecraft wiki entry for Carpet, associated text: Carpet can be placed on any block, including non-solid blocks, except air and item frame‌[Java Edition only]. When placed on grass or fern, they break and the carpet is placed on the block below. When placed on vines, the topmost block of vines breaks and the carpet is placed on the block below, any vines blocks below the first one don't break. It can even be placed over water blocks, but to do so you must target an adjacent block with a visible hitbox.