The bow that shot it has the Flame enchantment. Why is that not enough to set block on fire?
What can I do to actually set the block on fire with the arrow?
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):
/scoreboard objectives add Fire dummy
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}]}}]}
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
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
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
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.