Destruction

A tornado does not level a city block in one pass. It peels: the roof first, then whatever the roof was holding down, then the walls once the wind can finally get inside them. That is not for show: the search runs from the top of each column of blocks downward, one layer at a time on every pass, so a house comes apart in the order a house actually comes apart. Nothing the wind takes ever goes back, and nothing about it runs unbounded either: each tornado can only tear out a fixed number of blocks per tick, the one real performance cost the whole system carries.

What the wind can pull apart

One comparison decides everything: the dynamic pressure the wind is carrying at that exact spot, set against the resistance of the block sitting there. Nothing else enters into it, not height, not the broad category of material, just that one ratio worked out fresh for every attempt. Turning breakBlocks off switches the whole mechanic off at once: the wind still blows and any debris already airborne keeps flying, but no new block ever gives way. The resistanceScale multiplier moves the line the other direction: above one, a tornado starts gutting builds meant to survive an explosion; below one, it struggles to strip the leaves.

A scale calibrated against the game, not against pascals

The resistance a given wind can beat climbs with the cube of its speed rather than the speed itself, which is why the gap between an EF4 and an EF2 runs deep: between the floor of one and the floor of the other, that capacity more than triples. At the floor of each category that capacity comes to 0.35 for an EF0 at twenty-nine metres a second, then 0.79, 1.79, 3.26 and 6.05 at the floors of EF1 through EF4, up to 10.5 at the floor of an EF5 at ninety metres a second. For a sense of scale borrowed straight from the game's own table: leaves sit at a resistance of 0.2 and glass at 0.3, so a tornado barely a moment old has already stripped both.

What becomes of a block that gives way

A torn-out block does not automatically fall as something you can pick up: dropItems defaults to false, and whatever the wind takes simply disappears, with nothing left on the ground behind it. That same block only turns into flying debris if the wind that took it had real strength to spare, at least two and a half times what the block was resisting in the first place, the same resistance that resistanceScale is what actually moves up or down. A tornado that has only just cleared a block's threshold destroys it without carrying it, and only a wind well past what was needed fills the sky with wreckage.

What never gives way: any resistance of 900 or higher sits permanently out of reach, no matter how strong the tornado, and obsidian, at 1200, does not come close either. Bedrock does not even have a resistance worth comparing: it never gives way, under any version of the maths.

A per-tick budget, not a sweep

Every tornado carries a fixed number of blocks it can tear out per tick, ninety-six by default, the one real cost centre in the whole destruction system. Rather than testing the entire disc every time, a golden-angle spiral cursor jumps from point to point, so it never revisits the same patch twice in a row while still covering the ground evenly. A block that has just given way gets a six-metre-a-second kick straight up on top of whatever wind it was already feeling, enough to clear whatever it was resting on rather than scrape along it for the first fraction of a second.

The four levers

Destruction settings
SettingEffectDefault
breakBlocksThe master switch for breaking. Off, the wind still blows and any debris already flying finishes its run, but no block ever gives way.on (true)
blockBudgetPerTickBlocks one tornado can tear out per tick. The one setting that really decides what an active storm costs in performance.96
resistanceScaleMultiplies the resistance the wind has to beat. Above one, the storm goes after builds meant to survive an explosion; below one, it struggles to strip leaves.1.0
dropItemsWhether a torn-out block leaves something you can pick up. Off by default: what the wind takes just disappears.off (false)