public Explosion createExplosion(
      Entity entity, double d0, double d1, double d2, float f, boolean flag, boolean flag1) {
    // CraftBukkit start
    Explosion explosion = super.createExplosion(entity, d0, d1, d2, f, flag, flag1);

    if (explosion.wasCanceled) {
      return explosion;
    }

    /* Remove
    explosion.a = flag;
    explosion.b = flag1;
    explosion.a();
    explosion.a(false);
    */
    // CraftBukkit end - TODO: Check if explosions are still properly implemented

    if (!flag1) {
      explosion.blocks.clear();
    }

    Iterator iterator = this.players.iterator();

    while (iterator.hasNext()) {
      EntityHuman entityhuman = (EntityHuman) iterator.next();

      if (entityhuman.e(d0, d1, d2) < 4096.0D) {
        ((EntityPlayer) entityhuman)
            .playerConnection.sendPacket(
                new Packet60Explosion(
                    d0, d1, d2, f, explosion.blocks, (Vec3D) explosion.b().get(entityhuman)));
      }
    }

    return explosion;
  }
 public static void sendPacketToPlayer(Packet var0, Player var1) {
   if (var1 instanceof EntityPlayer) {
     ((EntityPlayer) var1).netServerHandler.sendPacket(var0);
   }
 }