promotional bannermobile promotional banner

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.
Back to Files

Modded BlockEntity Blocks Now Break

File namesabledestructive-1.6.1.jar
Uploaded
Jun 26, 2026
Downloads
30
Size
208.3 KB
Mod Loaders
NeoForge
File ID
8323656
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:sable-destructive-1524595:8323656"

Learn more about Curse Maven

What's new

Hotfix for "модовые блоки не ломаются" — the callback was silently skipping every block with an attached BlockEntity, which is the overwhelming majority of modded machinery (Create cogwheels and shafts, Mekanism cables, Applied Energistics buses, every chest / furnace / hopper, etc.). That made the addon visually a no-op against most non-vanilla builds.

Why it was skipped originally

  • Pre-1.6.1 the callback assumed BE teardown was always fragile — Sable's sub-level assembler doesn't preserve BE NBT cleanly, and peeling a half-built contraption can corrupt its kinetic-network state on the modded side.

What changed

  • allowBlockEntityBreaks (new, default true). BE-bearing blocks ARE now broken on contact. The block is removed via an explicit level.removeBlockEntity(pos) BEFORE the setBlock(AIR), so the BE's saved NBT is discarded cleanly and no vanilla on-remove side-effect can throw out of the callback.

  • allowBlockEntityDetach (new, default false). Even when BE breaks are allowed, the outcome is forced to VANISH — never DETACH. Reason: Sable's assembler doesn't carry BE NBT into the new sub-level, so peeling a Create gearbox would instantly desync its kinetic network. VANISH discards the BE cleanly. Set to true if you want the experimental "peel BEs too" behaviour (expect cosmetic issues on Create/Mekanism).

  • safeSetAir now explicitly removes any attached BlockEntity before airing the cell. Catches any throwable from the BE's own remove handler (Create kinetic teardown, Mekanism cable rebuild, etc.) so a third-party mod's on-remove bug can never escape into Sable's native bridge.

Compatibility

  • Set allowBlockEntityBreaks=false in config/sabledestructive-common.toml to restore the pre-1.6.1 "skip every BE block" behaviour.
  • All other 1.6.0 knobs and behaviour unchanged.

Requirements

  • Minecraft 1.21.1, NeoForge 21.1.227+, Sable 1.1.3+

MIT License

This mod has no additional files