If you think I’m crazy, please be patient and keep reading.
Let’s firstly take a look at some formulas and data:
1.the explosion center of TNT entities:~ ~0.0612500011921 ~(may not accurate)
2.the eye position of TNT entities:~ ~ ~(may not accurate)
3.Motion giving by explosion to entities nearby:
∆v=impact=max((1-r/(2*P))E,0), where Δv means the motion change (a vector, which has the same direction as the vector from the explosion center to the entity’s eye position does), r means the distance from explosion center to the entity itself, P means the power of the explosion (4 for TNT), and E means exposure. Most importantly, those motions given to the entity are stackable. (You can get more information at https://minecraft.gamepedia.com/Explosion, especially at section Interaction with entities, which is under the subtitle Effect)
4.The functions of motion of entities along any of those three axes (as long as they haven’t hit something yet):
v=(1-k)^t*v0+a/k*(1-(1-k)^t) and ∆r=(1-(1-k)^t )*v0/k+a/k*t-a/k^2*(1-(1-k)^t) , where v means the motion of entity at the time, k means the drag, t means tick passed after the start you set (an integer), means v0the initial velocity the entity get, a means acceleration the entity has, and ∆r means the position change of the entity.
5.For TNT entities:
k=0.02block/tick (in air, same for all three axes), gravity=-0.04block/tick (along Y axes), k=0.314block/tick (on ground, horizontally), and they don’t seem like having limitation on speed.(also may not accurate)
P.S.: I know those thing were taught again and again and again, and were known by some of you. Please forgive me if I waste your time.
P.P.S.: I really don’t want to talk about the motion TNTs get when they are ignited. I know you can handle it.
So what can we get from this part? First, well, obviously, with all the information above and some redstone skill, you can build yourself a TNT cannon, a fair one. The better redstone skill your get, the better it is. Second, according to the first formula, if you can control the position of TNT after their ignition and get enough TNT in your hand, you can get some entities, I mean TNTs, with any speed you want (how TNT cannon work). Third, if the velocity of the entity and the landform it flying into is known, with the second and the third formula, you can get its position and motion of any tick that it is still flying in its orbit.
Then, let’s look deeper: How the server handles entities (at least, TNTs)? (Again, you might already know that.)
Each entity has their own UUID NBT tag, which might be given by their type and the time of their summoning. And server will process their behavior by the order of their UUID. So they will handle TNT entities like this:
Ending processing last TNT entity→Position change and motion change→Fuse count down or exploding→Starting processing next TNT entity
According to that, if you get a pile of TNT in air, which is about to explode with speed low enough, the first TNT in that pile will explode near the TNTs remain, which will change their motion. This will cause the second TNT exploding at a different position from the first one. And that will go on and on till all TNTs remain get a speed fast enough or no TNT remains at all. All of this happened in one tick. If you get a pile of TNT which ignited in different times and it has no horizontal speed last tick. That is how nuke and revnuke work.
However, what if we get the same pile of TNT, but with a speed about 8.5 block-per-tick last tick? They will exploding at the same position one after another in one tick without affecting each other according to the first formula mentioned above.
A pile of TNT explodes at the same position. Thinking about what you will get: a TNT cannon which can be set up anywhere, even without blocks. All you need to do is to fire your charge into that position and let it end up with a fine speed.
Firing your fuel into the position, that is how you launch your ballistic missiles in vanilla Minecraft. If you change your shot into other entities, (if they survived) then you are sending a rocket.
After all these things, what’s the consequence? It seems pretty useless and complicate right? But, why you have to think about it? I mean, we are playing for fun, aren't we? Isn’t it cool that you can make an entity (not you) fly as you needed without commands using?
All information I listed above partly coming from Minecraft wiki and mostly result from my experiments on an old laptop brought 8 or 9 years before, which can barely handle the void preset. So every word I just said might be wrong. I’m sorry for that if it happens.(I’m pretty new here, plz be nice to me.)
If you think I’m crazy, please be patient and keep reading.
Let’s firstly take a look at some formulas and data:
1.the explosion center of TNT entities:~ ~0.0612500011921 ~(may not accurate)
2.the eye position of TNT entities:~ ~ ~(may not accurate)
3.Motion giving by explosion to entities nearby:
4.The functions of motion of entities along any of those three axes (as long as they haven’t hit something yet):
5.For TNT entities:
P.S.: I know those thing were taught again and again and again, and were known by some of you. Please forgive me if I waste your time.
P.P.S.: I really don’t want to talk about the motion TNTs get when they are ignited. I know you can handle it.
So what can we get from this part? First, well, obviously, with all the information above and some redstone skill, you can build yourself a TNT cannon, a fair one. The better redstone skill your get, the better it is. Second, according to the first formula, if you can control the position of TNT after their ignition and get enough TNT in your hand, you can get some entities, I mean TNTs, with any speed you want (how TNT cannon work). Third, if the velocity of the entity and the landform it flying into is known, with the second and the third formula, you can get its position and motion of any tick that it is still flying in its orbit.
Then, let’s look deeper: How the server handles entities (at least, TNTs)? (Again, you might already know that.)
Each entity has their own UUID NBT tag, which might be given by their type and the time of their summoning. And server will process their behavior by the order of their UUID. So they will handle TNT entities like this:
Ending processing last TNT entity→Position change and motion change→Fuse count down or exploding→Starting processing next TNT entity
According to that, if you get a pile of TNT in air, which is about to explode with speed low enough, the first TNT in that pile will explode near the TNTs remain, which will change their motion. This will cause the second TNT exploding at a different position from the first one. And that will go on and on till all TNTs remain get a speed fast enough or no TNT remains at all. All of this happened in one tick. If you get a pile of TNT which ignited in different times and it has no horizontal speed last tick. That is how nuke and revnuke work.
However, what if we get the same pile of TNT, but with a speed about 8.5 block-per-tick last tick? They will exploding at the same position one after another in one tick without affecting each other according to the first formula mentioned above.
A pile of TNT explodes at the same position. Thinking about what you will get: a TNT cannon which can be set up anywhere, even without blocks. All you need to do is to fire your charge into that position and let it end up with a fine speed.
Firing your fuel into the position, that is how you launch your ballistic missiles in vanilla Minecraft. If you change your shot into other entities, (if they survived) then you are sending a rocket.
After all these things, what’s the consequence? It seems pretty useless and complicate right? But, why you have to think about it? I mean, we are playing for fun, aren't we? Isn’t it cool that you can make an entity (not you) fly as you needed without commands using?
All information I listed above partly coming from Minecraft wiki and mostly result from my experiments on an old laptop brought 8 or 9 years before, which can barely handle the void preset. So every word I just said might be wrong. I’m sorry for that if it happens.(I’m pretty new here, plz be nice to me.)
Sounds pretty theoretical and accurate, cant prove if its true or false since i dont have access to minecraft rn.
But good job.
edit: unless its already been proven, then just good job. I cant read small, clumped up, text in that font.
I made elbowhair when i was super young, now i changed my twitch name.