Minecraft wiki entry for TNT_cannons, associated text: Care must be taken so that the pistons do not displace the water blocks protecting the cannon from TNT damage. To do this, one usually has to apply water a block above the area where the pistons would go into. It is also advised that the pistons should retract back into normal position before the main charge explodes, or your cannon might be destroyed. When the pistons extend, they create air spaces in the water no matter what, hence compromising the water's protection.