1.6.1
Compatibility
Changes
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, defaulttrue). BE-bearing blocks ARE now broken on contact. The block is removed via an explicitlevel.removeBlockEntity(pos)BEFORE thesetBlock(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, defaultfalse). 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 totrueif you want the experimental "peel BEs too" behaviour (expect cosmetic issues on Create/Mekanism). -
safeSetAirnow 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=falseinconfig/sabledestructive-common.tomlto 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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:s8kSCCgD:9WA0cOkF"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:s8kSCCgD:9WA0cOkF"
}

