Skip to content

Instantly share code, notes, and snippets.

@jan-matula
jan-matula / minecraft-1.5-block-event-transmutation.md
Last active October 21, 2021 17:20
Minecraft 1.5: Piston block event transmutation and piston rotation

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.

Piston block event transmutation

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.

Extension block event transmutation

@jan-matula
jan-matula / minecraft-1.7-facing-values.md
Last active October 21, 2021 17:21
Minecraft 1.7: Facing values and update suppression

Facing values and update suppression

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.

Facing values

The facing directions are typically represented in 3 bits as follows:

- +
@jan-matula
jan-matula / minecraft-1.5-semiretraction-basics.md
Last active October 11, 2021 20:49
Minecraft 1.5: Semi-retraction, moving extended pistons

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.

Semi-retraction

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.

Double retraction

@jan-matula
jan-matula / minecraft-1.5-tnt-duplication.md
Last active October 11, 2021 20:52
Minecraft 1.5: Explanation of TNT duplication

This document is meant to be read after reading the explanation of 1.5 piston mechanics.

TNT Duplication

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.

Extension TNT duplication

@jan-matula
jan-matula / $-minecraft-1.5-piston-mechanics.md
Last active October 13, 2021 18:42
Minecraft 1.5: Explanation of low-level piston mechanics

Piston mechanics