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
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }