Sable: Destructive

Sable: Destructive makes Sable physics blocks actually break. Real kinetic energy, inertial penetration, density-aware self-damage, radial shockwaves on heavy hits — fast hammers dig deep into dirt, soft hammers shatter against stone, big drops radiate.

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

NeoForge

implementation "curse.maven:sable-destructive-1524595:7983777"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

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