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

Lava cannot ignite coal blocks / hay bales / dried kelp blocks / 1-block flowers / sweet berry bush / scaffolding

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: 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
    • Fix Version/s: None
    • Labels:
    • Confirmation Status:
      Confirmed
    • Category:
      (Unassigned)

      Description

      The bug

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

      • coal blocks
      • hay bales
      • dried kelp blocks
      • 1-block flowers
      • sweet berry bush
      • scaffolding

      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:

      1.
      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.

      2.
      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                GrifterMage Callum Milne
              • Votes:
                8 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  CHK: