2 issues that prevent it from scaling properly
Cannons, beams and missiles trigger a collection integrity explosion for every destroyed block. This escalates extremely fast and causes a huge amount of explosions to happen.
It should only do this once, and block destruction should not be necessary in order to trigger it. A simple "hit" should cause a single series of explosions.
It would queue any other projectile hits, or if possible, just let it explode at the same time. Can probably be a bit hectic for checkerboard guns with a fast fire rate though...
The explosion damage should also depend on the damage of the projectile it got hit by. public void onIntegrityHit(long pos, short type, Damager from){ needs access to the projectile's original block damage, can easily balance it out then myself.