How can I make a flame arrow set a block on fire?

Solution 1:

Per the Minecraft Wiki's entry on enchanting:

Unlike flint and steel, flaming arrows only affect players, mobs, and TNT. No other blocks catch fire, and they do not produce light. Fire damage applies after initial damage, similar to Fire Aspect.


Using command blocks, however, you can effectively change this;

Looking at the commands in the video; here are the commands you'll need to put into the command blocks (arranged as shown in the video):

visual of the command blocks

/scoreboard objectives add Fire dummy

1. Creates the Fire objective that we'll need

/fill ~ ~1 ~ ~9 ~1 ~ air
/fill ~ ~1 ~ ~9 ~1 ~ redstone_block 0 destroy

2&3. These two command blocks will create a super fast clock that will ensure that all the following commands work practically instantly.

/scoreboard players set @a Fire 1 {SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:bow",tag:{ench:[{id:50,lvl:1}]}}]}

4. You'll need 9 of these, one for every action bar slot (0-8). This set's the player's 'Fire' score to 1 if they are holding a flame enchanted bow.

/scoreboard players set @a Fire 0

5. You'll need 9 of these as well, sets the player's 'Fire' score back down to 0 when they are no longer actively holding a flame enchanted bow.

/execute @a[score_Fire_min=1] ~ ~ ~ /scoreboard players set @e[type=Arrow,r=2] Fire 2

6. Whenever a player who's 'Fire' score is 1 fires an arrow, that arrow gains a 'Fire' score of 2.

/execute @e[score_Fire_min=2] ~ ~ ~ /setblock ~ ~ ~ fire

7. Whenever an entity (the arrow shot from a flame enchanted bow) has a 'Fire' score of 2, wherever that entity is, this command creates a fire block that tracks the arrow. When the arrow lands on/next to a block, that space is also occupied by fire, which will spread to other burnable blocks.