This document is meant to be read after reading the explanation of 1.5 piston mechanics.
TNT duplication was originally discovered in 1.9 by Myren Eario (see his video explaining 1.9 TNT duplication). The same bug is present in older versions of the game including 1.5. It is just a bit different.
In this document I will explain both the extension TNT duplication very close to the one discovered by Myren Eario as well as the less practical retraction TNT duplication discovered by myself.
This document is meant to be read after reading the explanation of 1.5 piston mechanics. I also recommend watching Myren Eario's video on block events.
When a piston is updated and finds itself in conditions where a retraction is suitable, it will set itself to retracted immediately, even before scheduling the retraction block event. This allows for a lot of weird things.
In the comments of the bug report for semi-retraction, Jeb seems to imply that this behaviour was intended to make double piston extenders easier to build.
It is quite commonly known that data-value 6 pistons can cause update suppression or that data-value 6 hoppers and droppers crash the game. Although I will not go into the code of any specific block, this document should explain why these exceptions happen.
The facing directions are typically represented in 3 bits as follows:
- |
+ |
---|
This document is meant to be read after reading the explanation of 1.5 piston mechanics. I also recommend watching Myren Eario's video on block events.
Before the game tries to process a block event, it will check that the block ID of the block in the saved position matches the saved block ID. This will prevent block transmutation. However, the game does not check for orientation for example.
In 1.8 this allows for piston bedrock breaking as discovered by Myren Eario (see his video on headless piston technology). This is unfortunately not possible in 1.5 due to the specifics of how pistons work in this version. However, we can do some other interesting things.