Explosion Parallelization

Explosion Parallelization

A mod that parallelizes explosion calculations across multiple CPU

by
102 Downloads
fabricneoforgeoptimization
Rent Server with this Mod

About this Mod

Explosion Parallelization

Say goodbye to explosion lag on your server.

Explosion Parallelization rewires Minecraft's explosion engine to run on multiple CPU cores simultaneously. Where vanilla processes every explosion ray and entity damage one-by-one on the main thread, this mod divides the work across your server's available cores, cutting explosion overhead by 60-70%.

The Problem

Vanilla explosions are entirely single-threaded. A single TNT detonation traces 1,352 rays through the world, each checking up to 30 blocks for blast resistance — that's ~40,000 block lookups. Now multiply that by a 5×5×5 TNT cube (125 TNT blocks detonating simultaneously), and the main thread simply can't keep up. Result: your server's TPS tanks, and everyone lags.

The Solution

Explosion Parallelization splits the explosion pipeline into two parallel phases on a ForkJoinPool-backed thread pool:

Phase Work Parallelization
Ray Tracing 1,352 rays × ~30 steps each Split evenly across worker threads; results collected into a dense boolean grid — lock-free, no merge overhead
Entity Damage Exposure checks, damage calculation, knockback vectors Workers compute read-only; main thread applies results

All else — block drops, fire placement — stays on the main thread, with proper synchronization to prevent world corruption. Chunk access from worker threads bypasses the main-thread dispatch queue via ChunkSafeAccessor, avoiding deadlocks.

Performance

Benchmarked with a 5×5×5 TNT cube detonation (spark profiler, 1-minute recording):

Setup MSPT (95th %ile)
Vanilla ~277
This mod ~74.5
Lithium alone ~130
This mod + Lithium ~37.8

Recommendation: Use together with Lithium — this mod parallelizes explosion calculation, Lithium optimizes entity collision checks; they complement each other perfectly.

Features

  • Vanilla-identical by default — With all settings at their defaults, explosion behavior matches vanilla exactly
  • Adaptive Ray Grid — Reduce explosion rays from 1,352 down to as few as 296 for faster processing (adaptiveRays)
  • Adjustable Entity Sampling — Tune entity visibility sampling density: Accurate (vanilla ~45 samples/entity), Fast (~24), Aggressive (~12)
  • Ray Lookup Acceleration — Pre-computed O(1) direction→distance lookup table, trading minor angular accuracy for massive speedup in entity exposure checks
  • Precise Ray Toggle — Choose between vanilla float-accumulation ray stepping (accurate) or precomputed integer-delta stepping (faster, tiny deviation)
  • Live Toggle — Enable, disable, or reconfigure on the fly with in-game commands — no restart needed
  • Thread-safe by design — Deterministic results: all random factors are pre-generated on the main thread so explosion patterns remain consistent

Commands

(Requires OP level 2 / Gamemaster)

/parallel explosion                           Show current status
/parallel explosion true|false                Toggle parallel explosions
/parallel explosion sampling accurate|fast|aggressive   Set entity sampling quality
/parallel explosion raylookup true|false       Toggle ray lookup acceleration
/parallel explosion adaptiveRays <0..16>       Set adaptive ray grid size
/parallel explosion preciseRays true|false     Toggle precise ray tracing
/parallel explosion reload                    Reload config from file

Configuration

All settings are stored in config/explosion-parallelization.json and can be changed in-game or by editing the file directly:

Setting Default Description
enabled true Master switch
samplingFactor 2.0 Entity visibility sampling density (2.0=accurate, 1.0=fast, 0.5=aggressive)
rayLookup false Enable fast O(1) ray distance lookup table
adaptiveRays 0 Ray grid coarseness (0=vanilla 1352 rays, 8=fast ~296 rays)
preciseRays true Use vanilla float-accumulation ray stepping; disable for faster integer-delta paths

Behavior-Changing Options

Default config preserves vanilla behavior exactly. The following options intentionally deviate:

samplingFactor < 2.0

Reduces the number of ray samples per entity for getSeenPercent. Fewer samples = less accurate knockback in edge cases, but significantly faster.

rayLookup = true

Replaces per-sample DDA traversal with a pre-computed direction→distance lookup from the explosion's 1,352 rays. ~5.5° angular resolution means partially-occluded entities at long range may see up to 10-15% deviation.

adaptiveRays > 0

Reduces explosion ray grid resolution. Fewer rays = coarser explosion shape but better performance.

preciseRays = false

Switches from float-accumulation ray stepping (vanilla) to precomputed integer-delta paths. Slightly different block traversal near block corners; imperceptible in most scenarios. Best paired with other acceleration options for maximum throughput.

Dependencies

Server-side only — clients do not need to install this mod.

Available Versions

0.4.0alpha
MC 26.1.2fabric, neoforge
May 26, 2026
0.3.4alpha
MC 26.1.2fabric
May 22, 2026
0.3.3alpha
MC 26.1.2fabric
May 21, 2026
0.3.2alpha
MC 26.1.2fabric
May 20, 2026
0.3.1alpha
MC 26.1.2fabric
May 19, 2026

How to Install Explosion Parallelization on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (26.1.2).

3

Install Mod

Open the mod browser in the dashboard and search for "Explosion Parallelization". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabricneoforge

Minecraft Versions

26.1.2

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Explosion Parallelization server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1.2). You can switch loaders with one click in the panel.

Is Explosion Parallelization compatible with fabric and neoforge?

Explosion Parallelization officially supports fabric, neoforge for Minecraft 26.1.2. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Explosion Parallelization – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Explosion Parallelization consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Explosion Parallelization with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Required

Supported Versions

26.1.2