Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-109948

Lava cannot ignite certain flammable blocks



    • Bug
    • Resolution: Unresolved
    • None
    • Minecraft 1.10.2, Minecraft 1.11 Pre-Release 1, Minecraft 1.11, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 17w16b, Minecraft 1.12, Minecraft 18w02a, Minecraft 18w07a, Minecraft 18w07b, Minecraft 18w07c, Minecraft 1.13-pre1, Minecraft 1.13, Minecraft 18w30b, Minecraft 1.13.1, 19w36a, 1.15 Pre-release 3, 1.15.2, 20w13b, 20w17a, 20w21a, 1.16 Pre-release 5, 1.16 Pre-release 8, 20w28a, 1.16.2, 1.16.4, 20w45a, 20w46a, 20w51a, 21w03a, 21w05b, 21w06a, 21w16a, 1.17, 1.17.1 Pre-release 2, 1.17.1, 21w44a, 1.18 Release Candidate 3, 22w03a, 22w15a, 22w45a, 1.19.3
    • Confirmed
    • Block states
    • Low


      The bug

      Lava cannot light the following (otherwise flammable) blocks on fire:

      • coal blocks
      • hay bales
      • dried kelp blocks
      • small flowers
      • sweet berry bushes
      • scaffolding
      • targets
      • saplings
      • azalea
      • cave vines
      • dripleaf
      • glow lichen
      • hanging roots
      • spore blossoms
      • hanging signs

      How to reproduce

      1. Place lava somewhere without existing flammable blocks to spread fire to.
      2. Place coal blocks anywhere in, around, or above the lava, with air blocks adjacent where fire should be able to light.
      3. Watch the coal never burn.
      4. Increase the rate of fire spread 100x, using /gamerule randomTickSpeed 300, just to be sure.

      Code analysis – MCP 9.35 (1.11) names

      It's because lava and fire use different ways to tell if a block is flammable:

      Lava (net.minecraft.block.BlockStaticLiquid) decides whether to light a block on fire by consulting the block's Material, by calling net.minecraft.block.material.getCanBurn(World worldIn, BlockPos pos).

      Coal is Material.ROCK, hay and dried kelp blocks are Material.GRASS, and 1-block flowers are Material.PLANTS. These materials will tell lava that those blocks cannot burn.

      Incidentally, this is the only place .getCanBurn() is used.

      Fire (net.minecraft.block.BlockFire) decides whether to spread to a block by consulting its own hard-coded list of burnable blocks, by calling its own method .canCatchFire(IBlockAccess worldIn, BlockPos pos) – and this has nothing whatsoever to do with block material.

      Coal, hay, dried kelp and the flowers are all on that list.

      Incidentally also, that is the only place .canCatchFire() is used.


        1. 2016-11-10_19.41.55.png
          142 kB
        2. 2021-06-12_17.57.50.png
          1.05 MB
        3. Flowers not burning.png
          Flowers not burning.png
          179 kB
        4. Hay bales not burning.png
          Hay bales not burning.png
          228 kB

        Issue Links



              Unassigned Unassigned
              GrifterMage Callum Milne
              21 Vote for this issue
              9 Start watching this issue