promotional bannermobile promotional banner

CBC Enchanced Shells [Create Big Cannons]

Adds 50 enhanced munition variants (Mk.I–V) to Create Big Cannons: 9 shell types with escalating damage, armor penetration & explosive power, plus 5 powder charges with increased muzzle velocity. Tiered crafting, unique colors & balanced progression.

File Details

CBCmoreshells-1.1.0.jar

  • R
  • May 15, 2026
  • 954.65 KB
  • 10.1K
  • 1.21.1
  • NeoForge

File Name

CBCmoreshells-1.1.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:cbc-enchanced-shells-create-big-cannons-1489732:8090604"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

 CBC Enhanced Shells — v1.1.0

  Rocket Breech

  - Hand-loading now works. Right-clicking the back face with a munition loads it into the cannon. Previously the breech
   failed to register its connections at placement, so the cannon never assembled and the interaction never fired.
  - Sliding breechblock + lever now render. Registered a Flywheel visual on top of the existing block-entity renderer;
  without it the Flywheel short-circuit hid both the breechblock and the lever.
  - Cascade-loading: up to N shells per barrel. The stock Quick-Firing breech only shifts the existing round one slot
  forward, capping practical loads at two. The rocket breech now pushes the whole stack toward the muzzle in a single
  right-click, so a five-chamber barrel holds five rounds.
  - Removed a latent infinite-recursion path in RocketBreechBlockEntity.canLoadBlock (never triggered in practice —
  nothing was ever loaded into the breech itself).

  Rocket Launchpad — Cannon-Fired Rockets

  - Launchpad is now a ProjectileBlock. It can be hand-loaded through any CBC breech as a munition, and CBC's firing
  pipeline accepts it in the projectile chain instead of failing on it.
  - Detection pattern simplified to [launchpad, shell]. The cannon's own powder is consumed by CBC's propellant branch
  (as expected) and no longer needs to appear in the projectile chain. The rocket gets a fixed built-in fuel reserve
  (CANNON_LAUNCH_POWDER = 2) for its post-launch self-thrust.
  - Load order: shell → powder(s) → launchpad. Final bore (breech to muzzle) is launchpad → powder → shell. Firing
  detects the rocket configuration when the scan reaches the shell and spawns a RocketEntity instead of a regular
  projectile.
  - Removed the broken getExpectedSize = MAX_STACK (5) override on all 16 shell blocks — it was tripping CBC's cleanup
  phase and breaking normal (non-rocket) firing.
  - Blockstate JSON converted to multipart so the new waterlogged property (inherited from ProjectileBlock) doesn't need
   explicit variants.

  Rocket Entity

  - 15-tick spawn invulnerability (SPAWN_GRACE_TICKS). For the first ~0.75 s after spawn the rocket:
    - treats every block as penetrable (calculateBlockPenetration → PENETRATE),
    - cannot hit entities (canHitEntity → false),
    - skips the manual front-tip block probe,
    - no-ops in onImpact as a safety net.
  - Fixes immediate self-detonation against the cannon mount, the contraption entity, the spent launchpad block, or
  surrounding terrain on a flat ground launch.