
WMD - Weapons of Mass Destruction
WMD adds nukes using a GPU-accelerated particle system.

Weapons of Mass Destruction
WMD adds nukes using a GPU-accelerated particle system and compute shaders for the visual simulation.
Features:
WMD adds 3 items that all spawn nuclear explotions in different ways.
First we have the NukeBlock which spawns a nuke at its location when powered by redstone, it comes in 4 yield variations: 0.25kt, 1kt, 2kt and 5kt.
Then we have the FallingNuke which plays a falling animation when powered and detonates where it lands, this also comes in the same 4 yield variations. The falling nuke has valkyrien skies support, meaning if you detonate one on a VS ship it will inherit the ships velocity and calculate a semi-realistic landing position.
And lastly we have the nuke spawner which spawns a nuke wherever you are looking, the yield is determined by the item in your offhand:
- Iron Nugget: 0.01 kt
- Iron Ingot: 0.1 kt
- Empty/Iron Block: 1 kt
- Gold Nugget: 2 kt
- Gold Ingot: 5 kt
- Gold Block: 15 kt
- Diamond: 25kt
- Diamond Block: 50 kt
- Netherite Ingot: 100 kt
- Netherite Block: 200 kt
When a nuke explodes it creates a crater and a raised rim. Blocks in the surrounding area also get thermally converted, things like logs turn into basalt, grass into coarse dirt and so on. The affected area also gets converted to the nuclear wasteland biome.
The nuke visual uses compute shaders to simulate particle movement each tick, the positions are then sorted using a stable radix sort and rendered as gpu instanced alpha blended billboards. Bloom is per particle and driven by a heat value so only actually hot particles(near the core) glow. The visual is inspired by HBMs nuclear tech mod.
WMD also has full distant horizons support meaning you can see nukes from far away, something pretty much no other mod that adds nukes does.
This mod also has a fallout system based on the same sfss model that nukemap uses. Its not currently used in any gameplay but you can see generation results in the "wmd_debug" folder and use the commands that start with "/radiation".
You can also use the "/spawnnuke" command to test the nukes if you want to do some faraway tests. So you can use "/spawnnuke direct x y z yield" to spawn an explosion instantly at the coordinates or "/spawnnuke falling x z yield" to drop a nuke with a falling animation.
Most features can be tweaked in the server and client configs. The client config also has an ingame GUI config you can open from the mods tab.
Keep in mind that this mod is in beta and under development so don't be surprised if you encounter bugs.
Known issues include:
- Particles sometimes get launched with high velocities in random directions(more common at larger yields).
- when using shaders along with DH the particle depth will appear shifted proportionally to your vanilla render distance.
- Nukes detonated above ground (airbursts) do not work properly.
Requirements:
- Forge 1.20.1
- OpenGL 4.3+
