Oushii

Quick rating

Community listing page, reviews may not be monitored by the author.

Oushii

By Paulem79Owner

No reviews yet

A really fast explosion engine for Minecraft

Mod Loaders
Minecraft
26.3 26.2

About

Description

Oushii

An explosion engine for Minecraft that replaces vanilla raycasting with a blast field solved directly on the block grid. It handles large TNT chain explosions without stalling the server, and keeps craters shaped the way vanilla shapes them.


Why Oushii?

In vanilla Minecraft, large TNT detonations overload the server because the blast is sampled with 1352 rays that each re-walk the blocks their neighbours already walked, one getBlockState at a time. Even with performance mods like Lithium, chain explosions cause significant TPS drops.

Oushii solves the same energy budget on the block grid instead of along rays. Every block is visited at most once, straight out of the chunk sections in memory: it takes the energy left by the neighbours one step closer to the centre, pays for its own blast resistance, and passes on what is left. Blocks the blast cannot get through cast a shadow behind them, exactly like a ray that ran out.

That keeps what makes a vanilla crater recognisable — shallow in stone, deep in dirt, stopped by obsidian and by water — while the blast that never reaches a block costs nothing to skip. Explosions going off in the same tick close to each other are merged into one, and TNT flying through empty chunk sections skips collision checks entirely.


Compatibility

Oushii is compatible with Lithium, and should also be with other optimization mods.

The blast field goes through the same hooks vanilla does, so mods that retune explosions are read rather than ignored:

  • Blast resistance overrides go through vanilla's explosion damage calculator, which is also what NeoForge forwards to IBlockExtension#getExplosionResistance. Mods such as TNT Breaks Bedrock and TNTUtils work. Resistance is resolved once per block state, so a mod that varies it per position is read once and applied to that block everywhere.
  • Blocks may veto their own destruction (shouldBlockExplode) and their own drops (dropFromExplosion).
  • Modded TNT blocks chain: every destroyed block gets its vanilla wasExploded reaction, which is where a TNT block primes its own entity.
  • Modded TNT entities keep their own behaviour: Oushii only takes over the tick of vanilla PrimedTnt, so mods that subclass it with their own explosion (Lucky TNT, Insane TNT and the like) are left alone and are not accelerated.

Not covered yet: Oushii detonates through its own engine instead of Level#explode, so mods that hook that call or listen for an explosion event will not see Oushii's blasts.


Performance Comparison (with Spark)

Tested on a 26.2 superflat world with no mobs or pre-spawned item entities. Profiled on a detonation of a 30×30×30 TNT cube (27,000 blocks).

Metric (Spark) Vanilla Lithium Oushii Lithium + Oushii Best vs Vanilla
PrimedTnt.tick Execution 150,808 ms 39,940 ms 3,572 ms 2,996 ms 50.3× faster
Server TPS (1m window) 5.93 12.80 19.30 19.35 +226%
Median MSPT 4.33 ms 3.64 ms 3.74 ms 2.38 ms +45%
MSPT (95th percentile) 164 ms 82.6 ms 88.8 ms 33.8 ms +79%
RAM Footprint 739.9 MB 939.8 MB 757.8 MB 485.1 MB -34%