# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cjcrafter.gitbook.io/mechanics/mechanics/explosion-cloud.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
