Why do you need separate plugin code for what can already be done by the server? cWorld has a DoExplosionAt function:
Oh, right, I forgot to export it to the API. Now it's there.
/** Does an explosion with the specified strength at the specified coordinate a_SourceData exact type depends on the a_Source: | esOther | void * | | esPrimedTNT | cTNTEntity * | | esCreeper | cCreeper * | | esBed | cVector3i * | | esEnderCrystal | Vector3i * | | esGhastFireball | TBD | | esWitherSkullBlack | TBD | | esWitherSkullBlue | TBD | | esWitherBirth | TBD | | esPlugin | void * | */ void DoExplosiontAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData);
Oh, right, I forgot to export it to the API. Now it's there.