I accidentally set off a large pile of TNT. I managed to hit escape before the explosion. Is there any way to prevent it going off?
-
2While I'm afraid I don't have any helpful advice, I would dearly love a copy of that save before you reload / alter it. It sounds like a wonderful joke to play on my friends. ;-)– Ben BlankAug 15, 2011 at 17:31
-
I actually reverted to a previous save file, as it was easily less effort than any hacking solution. Making your own shouldn't be hard though :-)– fredleyAug 15, 2011 at 18:39
-
15I was relieved when I understood that the question is on the Gaming site and not something like Home Improvement.– MalcolmAug 15, 2011 at 19:04
5 Answers
If you open your world with MCEdit, you can select the area containing the TNT and use the “Delete Entities” operation to delete all the activated TNT in that area. (Note that Delete Entities will also remove any minecarts, boats, and wolves in the selection. MCEdit will show entities as transparent red blocks, but not what type of entity they are.)
Without such editing, by the physics of Minecraft, there is no way to stop activated TNT. However, you can prevent the explosion from having any effects on other blocks, including other TNT, by dumping water in the space where it will explode. (This probably can't help you fast enough unless you have a full bucket on your hotbar already.)
Hitting Alt+F4 would have been the wiser choice because by hitting Escape you invoked the game to save your world.
Alternatively you can quit the game, then delete (and backup) your level.dat
and rename your level.dat_old
to level.dat
. The problem is that you don't know from when the level.dat_old is. I just know that this saved my house from burning it down accidentally and the game was set back about 10 minutes.
-
-
-
3I would not expect reverting level.dat to have any effect. level.dat stores your location, inventory, and world seed, but does not store the world chunks itself (which are what contains the TNT). Aug 15, 2011 at 21:41
-
I'm against just quitting without triggering the world save. I have a feeling there might be a chance of corrupting your saved world files. Aug 16, 2011 at 7:41
-
If you encase it in obsidian it will prevent the explosion going outward, encase it in water and it stops the damage that the surrounding blocks receive. I'd recommend worldguard because it can prevent the ignition of TNT.
-
3Given he has the game paused just after lighting the TNT, I'm not sure there's time to encase it in anything.. and can "worldguard" be used on a running game?– DMA57361Aug 15, 2011 at 11:31
-
4@DMA57361 Surely he can save and quit, then install world guard? Also if he's doing the encasing in obsidian thing, use a world editor and also remove the unlit TNT!– RonanAug 15, 2011 at 11:48
-
-
There is really not too much you can do, besides "hacking", installing mods or made your structor out of a really hard material. Encasing TNT in water and igniting it will cause no damage to any surrounding blocks or other TNT. Aug 15, 2011 at 12:05
-
4
Just thought I'd answer with one more solution: if you have Single Player Commands installed, you can use the /defuse all
command to remove all the TNT that is activated. The TNT blocks will disappear (since after activation, they are considered entities and not blocks), but each previously activated block will drop a TNT item in its place for you to pick up.
This is a nice solution because Single Player Commands pauses the game when you bring up the console with T, so you don't need to frantically type the command before it goes off.
-
Yeah, binding that to a key would be a good option for those who play with TNT a lot. Aug 19, 2011 at 15:10
This answer had been previously posted on this question
As said in this link, you could try to use :
/gamerule setExplosionDestruction false
This command would prevent any Creeper / TNT blocks to damage other blocks. If you want to re-enable block destruction, use :
/gamerule setExplosionDestruction true
NB : You need to play at least at version 1.4.2 Minecraft to have access to gamerule
command