1.1.0
Compatibility
Changes
New
/ew control panel
A fully custom interface: VISUALS / HUD / SOUND / GAMEPLAY / PERFORMANCE / PRESETS tabs, eased scrolling, hand-drawn switches and sliders, and six synthesised interface sounds. Factory reset is a two-step action so a stray click can't wipe your setup. Presets are stored in config/sbw_ew_addon-presets.json. The command is operator-only (permission level 2).
The panel also drives interceptor range, takeover window and difficulty, net drag, maximum net span and AA missile speed — all of which used to be hardcoded constants.
Drone channel takeover
While intercepting, press [Y] to start and LMB to lock the sweeping marker. Ten locks in two minutes; the window shrinks with every success. On success the operator's monitor is unbound with a notification and the airframe drops into a soft landing. The attempt aborts if the target leaves antenna range, is lost, or time runs out.
Creative tab high-voltage plate An animated bus bar in place of the tab label: a travelling charge, arcs, and the title drawn glyph by glyph with its own glow.
Anti-drone net
- Entanglement rewritten: instead of a star of triangles, the sheet now forms a pocket that hugs the airframe plus six mesh loops cinched around it.
- Sag is measured against the real surface under the sheet — a net laid on the ground stays flat, a suspended one drapes but never through the floor.
- The whole sheet shakes when a trapped drone thrashes or someone pushes through it.
- Bodies inside the mesh are slowed; the drag is applied symmetrically on client and server, so movement never rubber-bands.
- Maximum span: 48 → 24 blocks.
- New sounds: the catch itself, a looping rustle around a trapped drone, and a brush when you walk through the sheet.
Radio
- Distance, terrain and enclosure now shape the audio, not just the signal meter — a link at the edge of range genuinely falls apart.
- New interference: multipath fading, heterodyne whistle, motorboating, and hiss rushing up between words.
- Signal meters move one bar at a time and no longer live a life of their own.
Interceptor
- Range 700 → 200 blocks.
- Locks strictly onto the closest airframe in the sky.
- Player movement is frozen during interception and the camera is nailed to the drone optics.
- Stowing the interceptor drops the intercept and any takeover in progress.
Balance
- Anti-drone missiles fly at half speed.
Fixes
- Spectator mode. The mod cleared
noPhysicson every player every tick, so the server pushed spectators out of any block they entered. Spectators fly through walls again. - Trapped drones fell forever. A frozen entity produces no movement packets, so clients kept running their own physics. The server now re-asserts the position and the client pins the airframe.
- Players stuck to the ground, invisible and stuttering. An intercept session left on a stack in the inventory kept the FPV park alive.
- Nets from a previous world. The client sheet cache was never cleared on disconnect, so a brand new world came up with someone else's mesh hanging in mid-air.
- The "drone caught in a net" warning is no longer hidden behind other FPV banners.
- Monitor signal bars no longer disappear in batches.
- The takeover key hint reads
Yon any keyboard layout. - Interceptor GUI layout fixed — the hint text ran into the battery slot.
- The creative tab plate no longer extends past the item columns.
- "DEMOLITION" → "TARGET LOCK" on target lock-on.
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:LXGHZvhO:D2FuVt3n"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LXGHZvhO:D2FuVt3n"
}![[SBW] Electronic Warfare](https://cdn.modrinth.com/data/LXGHZvhO/8265ec033a4c6b1f3ffb363c36791fafdcce3bed_96.webp)

