> For the complete documentation index, see [llms.txt](https://cjcrafter.gitbook.io/mechanics/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cjcrafter.gitbook.io/mechanics/mechanics/explosion-cloud.md).

# Explosion Cloud

{% hint style="success" %}
Have you purchased [WeaponMechanicsCosmetics](https://pluginify.org/resources/13/)? It is required for this Mechanic to work!
{% endhint %}

The explosion cloud mechanic spawns a billowing cloud of block-display "puffs" that mushroom out from a target location. The cloud is built from a palette of blocks that the puffs cycle through over their lifetime, fading from glowing oranges to dark grays to mimic a real fireball turning into smoke.

This is the giant orange/black mushroom cloud you see for high-yield explosives.

| Argument              | Description                                                                                                                                                                                                                                                              | Default Value                                                                                                                                                                                                                |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `blocks`              | A list of [References](https://cjcrafter.gitbook.io/core/references#material) that each puff cycles through over its lifetime. The first entries should be your "hot" blocks (glowing/orange) and the last entries should be your "cool" blocks (dark gray/black smoke). | <p>ORANGE\_STAINED\_GLASS,<br>ORANGE\_TERRACOTTA,<br>SHROOMLIGHT,<br>ORANGE\_CONCRETE,<br>HONEYCOMB\_BLOCK,<br>ORANGE\_STAINED\_GLASS,<br>BLACK\_STAINED\_GLASS,<br>GRAY\_STAINED\_GLASS,<br>LIGHT\_GRAY\_STAINED\_GLASS</p> |
| `immediateCount`      | How many puffs to spawn instantly when the mechanic fires. This is the initial "bloom."                                                                                                                                                                                  | 20                                                                                                                                                                                                                           |
| `delayedCount`        | How many extra puffs to spawn *gradually* after the initial bloom. These continue the mushrooming effect.                                                                                                                                                                | 90                                                                                                                                                                                                                           |
| `delayedSpawnTicks`   | Over how many ticks the `delayedCount` puffs are spread out.                                                                                                                                                                                                             | 35                                                                                                                                                                                                                           |
| `speed`               | How fast each puff moves upward/outward.                                                                                                                                                                                                                                 | 0.78                                                                                                                                                                                                                         |
| `initialSize`         | The size of each puff when it first spawns.                                                                                                                                                                                                                              | 1.5                                                                                                                                                                                                                          |
| `peakSize`            | The size of each puff at the end of its lifetime. The puffs grow from `initialSize` to `peakSize`.                                                                                                                                                                       | 30.0                                                                                                                                                                                                                         |
| `lifetimeTicks`       | How long each puff lives, in ticks.                                                                                                                                                                                                                                      | 120                                                                                                                                                                                                                          |
| `lifetimeJitterTicks` | Random variation in lifetime, in ticks. Higher values make the cloud dissipate over a longer window instead of all at once.                                                                                                                                              | 20                                                                                                                                                                                                                           |
| `scaleJitter`         | How much each puff's size can randomly vary, for a more organic look.                                                                                                                                                                                                    | 1.2                                                                                                                                                                                                                          |
| `drag`                | Air resistance applied to each puff per tick (0.0 = no drag, 1.0 = stops instantly).                                                                                                                                                                                     | 0.005                                                                                                                                                                                                                        |
| `randomRotation`      | Use `true` to randomly rotate each puff so the cloud doesn't look like a grid of identical blocks.                                                                                                                                                                       | true                                                                                                                                                                                                                         |

{% hint style="info" %}
This mechanic uses block display entities, so it only works on Minecraft 1.19.4+ servers.
{% endhint %}

{% hint style="warning" %}
Large clouds spawn many display entities. Be careful with `immediateCount + delayedCount`, values above 200 can briefly stress clients. The defaults are tuned for AAA-quality cinematic explosions.
{% endhint %}

{% tabs %}
{% tab title="Example 1" %}

```yaml
Mechanics:
  - "ExplosionCloud{} @Target{}"
```

Spawns the default orange-to-gray mushroom cloud at the target location. This is the cinematic "big explosion" look right out of the box.
{% endtab %}

{% tab title="Example 2" %}

```yaml
Mechanics:
  - "ExplosionCloud{immediateCount=8, delayedCount=20, peakSize=12, lifetimeTicks=60} @Target{}"
```

A smaller, faster cloud. Good for grenades and rocket impacts where a full nuclear mushroom would be overkill.
{% endtab %}

{% tab title="Example 3" %}

```yaml
Mechanics:
  - "ExplosionCloud{blocks=[WHITE_CONCRETE, LIGHT_GRAY_CONCRETE, GRAY_CONCRETE, BLACK_CONCRETE], peakSize=15} @Target{}"
```

A pure smoke cloud with no orange flame phase. Useful for cover-smoke grenades or sniper muzzle blasts.
{% endtab %}

{% tab title="Example 4" %}
This example comes from the WeaponMechanicsCosmetics `Sky_Torch` orbital laser:

```yaml
Mechanics:
  - "ExplosionCloud{delayBeforePlay=45} @Target{}"
```

Fires one tick after the orbital beam impacts. The cloud rises out of the impact crater as the camera shake, sonic boom, and shockwave fire simultaneously.
{% endtab %}
{% endtabs %}
