File Details
Real Damage
- R
- Apr 25, 2026
- 189.53 KB
- 32
- 1.21.1
- NeoForge
File Name
sabledestructive-1.2.0.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
1.1.0 introduced inertial penetration but kept the per-block thresholds conservative — collisions still felt cosmetic. 1.2.0 retunes the damage model from the ground up so impacts feel like impacts.
What changed
Default damage is roughly doubled across the board.
- collisionEnergyMultiplier 1.0 → 2.0
- collisionStrengthMultiplier 1.0 → 1.5
- penetrationEnergyMultiplier 1.0 → 0.6 (each consumed block costs less, so chains run further on the same energy)
- maxPenetrationDepth 16 → 32
- defaultAttackerMassKg 2000 → 4000
Speed actually matters now. Two new knobs scale the penetration walk by approach speed:
- penetrationSpeedEnergyBonus = 0.02 → +2% kinetic-energy budget per m/s above minBreakSpeed. At 50 m/s above the gate that's +100% budget — fast hits chain dramatically further.
- penetrationDepthPerMs = 0.25 → each m/s above minBreakSpeed extends the depth cap by 0.25 blocks. At 80 m/s a hammer can chain ~18 blocks past the static cap.
Density actually matters now. The callback no longer hands attackerHardness=0 to BreakResolver — it now passes V_WOOD as a sensible default sub-level toughness plus the configured defaultAttackerMassKg. The asymmetry rule (attackerToughnessRatio) finally engages: a wooden cog smacked into stone won't shatter the stone, an iron block into wood will.
Self-damage. New: when the attacker is much softer than the defender (attacker toughness < defender · selfDamageThreshold, default 0.6), the defender survives AND the attacker erodes its own contact face for up to selfDamageMaxBlocks (default 4) blocks. A copper hammer slamming an obsidian wall now sheds copper from itself instead of the wall doing nothing — finally that "soft bounces off hard" feel.
All chain-broken AND self-damage blocks always VANISH (never DETACH) — same crash-safety rule as 1.1.0.
New tuning knobs (all auto-persisted to config/sabledestructive-common.toml, all live-reloadable):
- selfDamageThreshold (default 0.6)
- selfDamageMaxBlocks (default 4)
- penetrationSpeedEnergyBonus (default 0.02)
- penetrationDepthPerMs (default 0.25)
Tweaked defaults (existing knobs):
- collisionEnergyMultiplier 1.0 → 2.0
- collisionStrengthMultiplier 1.0 → 1.5
- penetrationEnergyMultiplier 1.0 → 0.6
- maxPenetrationDepth 16 → 32
- defaultAttackerMassKg 2000.0 → 4000.0
Compatibility
- No breaking changes for end users. Existing 1.1.0 worlds load as-is. The Addon API is unchanged (API_VERSION still 1).
- To restore 1.1.0 feel exactly, set the five "tweaked defaults" above back to their previous values via /sable-dv set.
- To completely disable inertial chains and self-damage: /sable-dv set inertialPenetrationEnabled false /sable-dv set selfDamageMaxBlocks 0
Requirements
- Minecraft 1.21.1
- NeoForge 21.1.227+
- Sable 1.1.3+
Credits
- Code: Xylos_Official
- Visuals: Viaquelt
- Built on top of Sable by ryanhcode
License
- MIT