CBC Rider Callback Fix
Restores Create Big Cannons' passenger placement callback so server-side seat compatibility can run for mounted cannons.
The problem
Players mounting or firing an autocannon on a Sable ship can be moved away from the seat when another server mod validates or adjusts rider placement. In Steam & Steel, the missing callback bypassed BorderGuard's Sable seat conversion and exposed storage coordinates to world-border clamping.
Why it happens
Create Big Cannons 5.11.7 receives an Entity.MoveFunction in its pitch-oriented contraption's rider method, but calls Entity.setPos directly. That bypasses the callback supplied by the enclosing passenger-placement path.
Scope of the fix
The addon sends that one placement through the supplied callback. CBC still computes the seat position and runs its existing passenger check and position hook. The original firing, ammunition, recoil, rotation and dismount methods are preserved.
The addon adds no coordinate transform and disables no player movement or world-border checks. In Steam & Steel it works with the existing BorderGuard R4 Sable conversion. It does not add BorderGuard or a world border to other packs. It changes no recipes, production speeds or cannon balance.
Compatibility
- Minecraft 1.21.1; NeoForge 21.1.235; Java 21.
- Create 6.0.10, Create Big Cannons 5.11.7 and Sable 2.0.3, installed separately.
- Install on the dedicated server only. Clients do not need this addon.
This release targets those exact implementations. Other cannon or ship versions and third-party seat rewrites are not claimed compatible.
From Steam & Steel
The addon originated in Steam & Steel SMP, our custom Minecraft 1.21.1 NeoForge server modpack. It is available independently of the full modpack and does not require SteamSteelCore.
Acknowledgements
Thanks to rbasamoyai and the Create Big Cannons contributors, the Create team, and the Sable developers. This is an independent community addon. Its icon is original voxel artwork; no upstream textures or binaries are included.
Beta / Feedback
The native CBC callback bypass was reproduced. Checks executed real CBC seat/rotation code, the patched method, Sable's rider conversion and the existing BorderGuard helper across rotations, large storage coordinates and non-uniform scales. Actual Mixin application, required-hook failure and client exclusion were checked. The loaded plot table and unused world services are test seams; full player-visible mounting and shooting remain a separate gameplay check.
Please report your Minecraft, NeoForge, Create, CBC, Sable and addon versions, other seat/border mods and reproduction steps. Include whether the problem occurs while mounting, aiming, shooting or dismounting.
License
Addon code and original artwork are licensed under BSD 3-Clause. Copyright (c) 2026, DanielBasov (Steam & Steel). Retain attribution, conditions and the disclaimer when redistributing. The upstream mods retain their own licenses.

