mojira.dev
MC-147799

Strange TNT behaviour

Currently TNT cannons with multiple projectiles are unpredictable, as of the 1.14 Snapshots and its First pre release it does not Follow rules it Previously has.

The projectiles of a TNT cannon are no longer exploding the way they should, instead of exploding at the same time and location they spread out over a long distance and if one might get lucky enough you could be able to hear or see the different Explosions.

We have been Testing it throughout the past few Snapshots and have yet to find a Solution to this Problem.

We are currently experimenting with Commandblocks to ensure that all the TNT is in the same Location, has the same delay and receives the same amount of pressure from the charges.

We even tried glitching the TNT into certain blocks, so that the TNT is unable to move a Pixel, but none of that worked or improved anything in the slightest.
We are aware that with certain techniques would allow one to create an "Invisible" Delay between multiple TNT's but we have, after additional testing, realised that the chances of this being the Case with Commandblocks are as close to impossible as it gets.

We believe that there could be some Problems with the current way collisions are Calculated/Created.

 

Here a few examples of TNT behaving wrong:

-TNT Exploding mid air and Stretching over a large distance

https://streamable.com/1vmsk

-TNT Splitting mid-air and Stretching :

https://streamable.com/i3nsl

-TNT Suddenly shooting down at an angle at the end of the TNT stretch: https://streamable.com/a2w41

 

All of these Clips have been created with the same Command-Block rig, without any changes to the Cannon.
We used this :

https://imgur.com/a/Wom1zVW

 

//Edit

This should be a proove that its unintended behaviour
https://streamable.com/7x6g9
each tnt entity is summoned by commandblocks, and should get effected the same.

Also the TNTs left and right should have cancelled each other out, shooting all

 
 

Comments 11

This is probably caused by the use of a Int2ObjectOpenHashMap instead of a List for storing the entities of a ServerWorld (fabric name) which means the processing of entities happens in a seemingly random order instead of the order they were created.

This should be a proove that its unintended behaviour
https://streamable.com/7x6g9
each tnt entity is summoned by commandblocks, and should get effected the same.

Also the TNTs left and right should have cancelled each other out, shooting all the projectiles straight forward

This video is very good in order to understand all the problems that this bug causes, and how to fix it :

https://www.youtube.com/watch?v=UjQrsAJxm3c

Just as a general note, if you report a bug, always provide exact reproduction steps or, even better, reproduction world. Especially if your bug involves complicated setups. It's far from obvious what is in that stack of command blocks or what are relative positions of all involved elements.

We showed the content of the commandblocks in these pictures
https://imgur.com/a/Wom1zVW
incase the link doesnt work : /summon tnt x y z {Fuse:80}

we used commandblocks because they assure each tnt is at the same location every time, but it would also work with a simpler setup

1 more comments

Well i think the screenshot / videos were clear, but i can write a more technical explenation

We uses commandblocks, to remove the randomness factor when tnt gets ignited. the results would be no diffrent when using a real tnt cannons

If you prefer i could give you a screenshot using an acutuall cannon, and not commandblocks

Im not quit sure what information is missing
Despite each tnt being summoned at the same locations, being affected by the same amount of explosions, they dont all fly the same

We believe it is because the entity list is nolonger sorted by entities being added into the world. but rather being sorted "random"

Therefor it is possible, when using a cannon with lets just say 10 accelerators and 2 projectiles
It is now possible that 5 accelerator tnts update -> one projectile updates, teleports forward with the speed added by 5 acceleration tnts -> another 5 accelleration tnts update  -> the second projectile teleports forward with the speed of 10 acceleration tnts.

In previous versions the projectiles would only update after all the acceleration tnt exploded

Overall i highly suggest watching the video Valicon linked. it explains the problem way better than i can, and contains all the neccessary informations

I already know what is the setup, behavior and root cause. I'm just pointing out that your reproduction steps are not complete: they describe how to spawn TNT, but not where. It also misses information about key blocks: flowing water and fence. This specific bit of information is visible only for short time on videos.

Sure, those elements are present in almost every cannon setup, but issue is almost impossible to reproduce on its own without already knowing that info. It also seems to require specific number of TNT before this behavior becomes noticeable.

So for similar issues in future that require non-trivial setup please be more precise (test world would be very appreciated).

we (me and krassertyp (the creator of this article)) test this together and this is the cannon:

 

[media]

Thank you. I've already had similar setup before my first comment, but for future issues I would appreciate if this description was available on initial report. New reports are verified by volunteers, and while I'm assuming significant percentage may be able to build cannon, it's still not something you immediately remember how to do.

incase its still necessary
we made a testworld that showcases the random nature of tnt in the latest snapshots

https://cdn.discordapp.com/attachments/302427804413329408/567040250971684874/bug_world.zip

krassertyp

boq

Confirmed

Minecraft 1.14 Pre-Release 1, Minecraft 1.14 Pre-Release 2

Minecraft 1.14 Pre-Release 3

Retrieved