--- a/net/minecraft/world/level/block/BlockTNT.java
+++ b/net/minecraft/world/level/block/BlockTNT.java
@@ -121,6 +121,11 @@
             Entity entity = iprojectile.getShooter();
 
             if (iprojectile.isBurning() && iprojectile.a(world, blockposition)) {
+                // CraftBukkit start
+                if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(iprojectile, blockposition, Blocks.AIR.getBlockData()).isCancelled()) {
+                    return;
+                }
+                // CraftBukkit end
                 a(world, blockposition, entity instanceof EntityLiving ? (EntityLiving) entity : null);
                 world.a(blockposition, false);
             }
