Debris

What a tornado does to anything in its path splits into two families: what stays on the ground and gives way, a matter of block resistance against wind pressure, and what the wind then carries or throws once that ground has opened up. That second family hangs entirely on one switch, on by default (damageEntities = true): turn it off and the wind still pushes, the debris still flies exactly as before, but neither one deals a single point of damage.

The path of one piece

Standing โ†’ Torn out (wind pressure beats the block's own resistance) โ†’ Airborne (only if the wind had real strength to spare) โ†’ Gone

Three more things are worth their own section: the cap every tornado holds itself to, landing, which is not quite the word for it, and what a piece does to anyone in its way. Each gets its own heading below.

The cap

No tornado ever carries an unlimited number of pieces at once: two hundred and twenty by default. Past that ceiling, a block that gives way is still destroyed if the wind is strong enough, but it never becomes a flying piece of debris, simply because that particular tornado's count has no room left. The count is kept per tornado and corrects itself on its own, one fewer every time a piece lands or disappears.

What decides a piece flies

Giving way to the wind is not enough on its own to fly. At the exact moment a block breaks, the wind's own capacity has to clear two and a half times the resistance it just beat: under that, the block is destroyed on the spot and never becomes an entity at all. Past that carry threshold, it is handed a terminal fall speed of its own, worked out once from its original resistance and never revisited after.

That terminal speed runs from a little over fourteen metres a second for the lightest material up to forty for anything at or above a resistance of sixty, which sorts the debris field by weight exactly the way a real one is sorted: light fragments climb high and travel far, heavy ones stay low and fall fast, with no rule telling either one where to go.

Landing

A piece that hits the ground, runs into a wall, or simply stops moving does not turn back into a stack of blocks trailing behind the tornado. By default it is just discarded: whatever space it occupied stays exactly what the wind left there, a gap, not a job site that repairs itself.

A job site that does not repair itself: debrisSettles decides whether a piece sets its original block back down on landing. Off by default, it simply disappears, nothing replaced. On, it drops back into block form wherever the spot can take it, an older behaviour kept for whoever prefers it, at the cost of making a storm look like it tidies up after itself.

What a piece does on its way through

A piece moving fast enough hurts whatever it crosses. Below twelve metres a second it is a harmless bump; above that, every extra metre a second adds a quarter point of damage. A plank thrown straight off the core wall at full speed hurts far more than the same plank tumbling along at the tail end of its flight.

A one-way hit: a piece in flight can strike anyone standing in its path, but nothing can ever hurt it back. It refuses every point of damage aimed at it, never to be picked up like an item or pushed aside like a living thing.

Wind and debris count as two entirely separate sources of damage, and nothing stops both from reaching the same victim in the same instant. The death log keeps the two apart word for word, between vortexdread:wind on one side and vortexdread:debris on the other, never blurred even when both landed within a few ticks of each other.

Patience

Thirty seconds (past that, a piece still in the air gets discarded without ceremony, even if the wind never actually let go of it and it never really landed at all).

What wind and debris do to a victim

None of this depends on any of the stages above: it applies to every living entity, individually, every tick, as long as damageEntities stays on, which it does by default.

The speed that counts is read at the mid-height of a victim's own hitbox, a different altitude from the ground under their feet: a cow and a chick standing on the exact same spot do not feel quite the same wind, since neither one is sampling the same altitude in a field that changes with height. That variation stays modest near the ground, where most encounters happen, and grows mostly near the cloud base covered on the on-screen rendering page, an altitude itself inherited from the storm described on the formation page. For anything standing on two feet in the grass, the difference is rarely worth noticing.

Two clearly separate thresholds govern what happens at any given spot. From eight metres a second up, a victim is already being pushed. The wind alone only starts to hurt past forty metres a second, gated by the same general damageEntities switch that cuts both damage sources at once. Between the two thresholds, being dragged by the wind without it hurting on its own is entirely normal.

Past that second threshold, damage climbs with the gap between the wind's speed and it, multiplied by one last general setting: damageScale. At twice the threshold, eighty metres a second, wind alone deals three damage points a second at its default value of one, a little over a heart and a half. The game's own invulnerability window applies just as it would for any other source: a victim hit once does not take a second hit an instant later, even at the dead centre of an EF5.

Wind and debris do not scale up the same way. Wind climbs on its own with the strength of the tornado, since the wind itself is what gets faster. A piece of debris knows nothing about the tornado that threw it: only its own impact speed at the moment of the hit matters, which means a plain leftover gust can still fling an old piece hard enough to hurt, long after the tornado that tore it free has moved on.

For a player, none of this is automatic: the client keeps authority over its own position, so a velocity the server never explicitly sends is a velocity nobody ever feels on screen. Every time the wind pushes a player, the server sends that player's own velocity back in the same instant, which is the only reason the push is seen and felt at all rather than staying an invisible correction buried in the server log.

A piece caught mid-flight by a server restart does not forget anything that matters on the way back: its original block, its terminal fall speed, and how many ticks it had already spent in the air are all written to disk and read back unchanged. What it does lose is the living link to its tornado: if that tornado is itself gone by the time the world loads again, the piece simply falls as dead weight, with nobody left to carry it.

A handful of things never feel any of this, whatever the wind is doing: another piece of debris, the tornado itself, an entity already dead at the moment of the check, and a player in creative or spectator mode. All four share the same reason: none of them has a body the game still has to keep alive in the world.

Nothing past the influence box: an entity standing even one block outside the volume a tornado sweeps gets no calculation at all, no push and no damage, however close it might look on screen. That volume, and the radius that sets it from the tornado's own core, are covered alongside liftThreshold on the wind field page.

Debris and damage settings

Debris and damage settings
SettingDescriptionDefault
maxDebrisPieces one tornado carries at the same time. Past this, a torn-out block is still destroyed but never takes flight, for lack of room in the count.220
debrisSettlesWhether a piece sets its original block back down on landing. Off by default, so destruction stays destruction.off (false)
damageEntitiesThe one switch for both damage sources, wind and debris alike. Off, the tornado pushes and throws without ever hurting anyone.on (true)
damageScaleMultiplies every point of damage, whether it comes from wind or from impact.1.0
liftPlayersWhether a player can be lifted by the wind. Off, players stay grounded while mobs and items keep getting thrown.on (true)
liftThresholdWind speed, in metres a second, below which nothing is ever lifted, whatever the target.18