#3557·Pumpkin

Lily pads cannot be placed on waterlogged blocks

Author: GoatTech-42Created Sep 18, 2026Updated Sep 18, 2026
Labelsbugblock

Summary

Lily pads cannot be placed on waterlogged blocks, including waterlogged top slabs, even though vanilla Java treats the water fluid in those blocks as valid support.

Current behavior

LilyPadBlock::can_plant_on_top in crates/pumpkin/src/block/blocks/plant/lily_pad.rs has an explicit TODO to use fluids rather than blocks. It reads only the support block:

rust
let block = block_accessor.get_block(pos);
...
block.has_tag(&tag::Fluid::MINECRAFT_SUPPORTS_LILY_PAD)
    || block.has_tag(&tag::Block::MINECRAFT_SUPPORTS_LILY_PAD)

The block support tag contains ice and frosted ice. The fluid support tag contains water, but testing that fluid tag against the block object does not inspect the block's waterlogged fluid state. A waterlogged slab therefore fails both support checks.

Vanilla behavior

Vanilla Java allows lily pads on water and on waterlogged blocks, including waterlogged top-half slabs. Mojang classified placement on waterlogged blocks as working as intended.

References:

Reproduction

  1. Place a top-half slab and waterlog it.
  2. Try to place a lily pad on top.

Pumpkin rejects the placement. Vanilla allows it.

Ice and frosted ice should continue to support lily pads without needing a water fluid state.

Suggested fix

Expose or use the support position's fluid state in the plant-placement path. Accept support when either:

  • the fluid at the position is in minecraft:supports_lily_pad, or
  • the block is in the block tag of the same name.

Keep the existing requirement that the lily pad's destination position is air, and add tests for water, waterlogged top slabs, ice, frosted ice, and dry slabs.

Verified against current master at 1ac447f2918b7dec7d19a5836fa3673d4fe3c9f5; live issue-list review plus a targeted repository web search found no existing lily-pad/waterlogged issue.