While a campfire is burning items (for example it's both lit and there's 1-4 raw beef placed on it) minecraft attempts to save the chunks it's in every tick (which causes constant disk writing) - however this is noticeable as an increase to tick times. Placing multiple campfires in the same chunk doesn't increase tick times at all.
- Create a new "superflat" world
- Ensure no mobs are present by running the commands: "/gamerule doMobSpawning false" once, and "/kill @e[type=!player]" twice
- Open the "Profiling debug screen" with "Alt+F3". It should show average tick times (bottom right corner) of about 1ms.
- Locate chunk boundries with "F3+G"
- Place 4 campfires down at the corner (see screenshot 01)
- Add 1 Raw Beef to each campfire
- Tick times should have increased appreciably. (Alternatively using a tool like "iotop" should show increased IO)
- Placing additional campfires in other chunks and adding raw beef to them should also increase tick times. (see screenshot 03)
- Waiting a minute for all campfires to finish cooking should result in tick times (and disk writes) returning to the previous values (1ms ticks, no disk activity)
This bug was reproduced without mods - in an unmodified client, launched by the official launcher. However looking at decompiled code shows that, every tick, minecraft now attempts to save up to 20 chunks that have been modified by almost anything (block modifications, block entity "setChanged" calls (which includes inventory modification like hoppers and brewing stand recipe completion))