Skip to content
SmartCannonShells mod for Factorio
Lua Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Smart Cannon Shells is a mod for Factorio. It adds four new kinds of cannon shells: ordinary, explosive, uranium, and explosive uranium. Unlike their vanilla counterparts, they pass through allies.

I created this mod as an optional complement to RoboTank, for which I am working on the ability to fire cannon shells. The vanilla shells cause a lot of friendly fire in that scenario due to automated and somewhat indiscriminant firing.

I chose to not simply bundle the new shells with RoboTank in case people don't want to use cannon shells with RoboTank, and thus do not want the extra research and items cluttering the UI. Also it might be useful stand-alone or with some other mods.


Copy the release zip file ( into the "mods" subfolder of the User Data Directory. Then start (or restart) Factorio. It should then appear in the Mods list available from the Factorio main menu, initially enabled.


Unlock the new technologies and craft the new items. Every recipe is basically the same: one vanilla shell plus one red circuit.

Smart shells pass through allies. However, the explosive variants cause splash damage on impact that damages everything, including allies, so they are still pretty dangerous.


I'm not sure how well balanced these additions are. I have deliberately started at what I think is the high end in terms of cost. Feedback on balance is welcome in this discussion section of the mod page.

Smart shells pass through rocks and trees as if they were allies. I suspect that is a bug in Factorio, but it's hard to tell because the "force_condition" attribute at the heart of this mod is not well documented. See bug report on forum.


I learned how to create ammunition without friendly fire by looking at Cannon Turret by VortiK.


Factorio mod portal page:

Github repo:


You can’t perform that action at this time.