Tags
Creators
Details
Licensed CC-BY-NC-SA-4.0
Published 3 months ago
Updated 2 weeks ago
All versions
0.4.0
Release
CBC: Terminal Ballistics 0.4.02 weeks ago 85
Uploaded by
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Client and server
Changes
0.4.0
Persistent Shell Embedding
- Shells that stop inside a block are saved and rendered persistently (
embeddedShellLifetimeTicks, 0 = permanent) - Embed depth is based on the projectile's penetration ratio
- Embedded shells follow VS ships — stored ship-locally, rendered in the ship's live frame
- Loaded fuze and shattering projectiles retain their native behavior (they never embed)
- Per-block and global render caps (
embeddedShellsPerBlock,maxRenderedEmbeddedShells)
Ballistic Repair
- Right-click a damaged block with the Cannon Welder (CBC's existing item) to clear impact marks, embedded shell visuals, and accumulated armor integrity damage
- Shift-click removes embedded shells only
Impact Synchronization
- Impact marks and embedded shells are sent to players when they join
- Embedded shells resynchronize with nearby players every 2 seconds; impact marks update on change
Artillery & Terminal View (hitcam)
- Cinematic artillery chase cam following shells in flight, with sticky targeting so rapid fire doesn't constantly retarget mid-flight
- Terminal x-ray view on impact: slow-motion penetration breakdown of the shell's path, plate hits, spall cones, and a verdict (CRITICAL HIT / HIT / RICOCHET / NO PENETRATION / DETONATION)
- Critical-hit damage report: broken mechanical components and crew kills listed in the x-ray (data-driven
critical_blocksdatapack; PlayerRevive downing counts as a crew kill) - Multi-shell burst accumulation: follow-up shells merge into the running x-ray diagram — autocannon bursts render as layered live impacts instead of restarting the view
- Salvo ghost shells: other shells in the salvo render in the PiP alongside the tracked one
- Terrain streaming: real chunks stream around the shell's flight path and impact area; Distant Horizons compatibility modes (LOD fallback or suppression) for the chase cam; terminal streaming is exempt from the artillery
terrainStreampreference - Ballistic Goggles: right-click a cannon mount to link the goggles to up to 16 cannons; linked cannons' shells get the artillery/terminal views. Links are ship-anchored so they survive the ship sailing. VS Analog Warfare's Vehicle Setup Block can automatically relink goggles on vehicle rebuild
- Spotter Goggles: opt in to viewing nearby shells from any cannon
- Configurable via the
hitcam/hitcam_xrayclient configs and the hitcam server config section
Other
- Optional Create contraption collision for projectiles (
hitCreateContraptions, default off) - Data-driven ignored blocks: pack authors can make projectiles phase through specified blocks untouched
- Combatgear ammo racks cook off when broken by shells or spall
- Ship-following impact decals,
/cbctbadditions (marks refresh/delete,goggles list/clear,shells refresh/delete)
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:HNMiyfaF:rS5UlSqm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:HNMiyfaF:rS5UlSqm"
}

