Java Edition pre-Classic rd-160052

rd-160052 is a pre-Classic version made on May 15, 2009, at 22:52 UTC. It is available in the launcher. The copy in the launcher is recompiled from source code, with dates edited to March 2009, making it technically not original. Additionally, it appears to be tampered with further in order to make the game run in fullscreen by default.

Non-mob entities

 * Particles
 * Added "block particle" entities.
 * They appear when blocks are broken.
 * Fall to the ground before disappearing.

Bugs

 * When alt-tabbing the GUI disappears (Linux).
 * Rendering glitches occur every so often over time.

Rendering bug cause
In Minecraft, a script called the "tesselator" is responsible for drawing faces to the screen given vertex locations in the world. Each face rendered by the tesselator has 4 corners, so data is fed to the tesselator by a big list of vertices. When the tesselator is working correctly, the data is split up into groups of 4 vertices properly, and square faces are drawn.

After a counter in the script reaches 524288, the tesselator resets itself.

In the following version (Java Edition pre-Classic rd-161348), which fixes the bug, the game checks if the tesselator is finished drawing a face before resetting it (by checking if the index in the list is a multiple of 4). However, this version does not include that check, so the tesselator can reset in the middle of drawing a block. This causes the faces that are supposed to be drawn and the faces that actually are drawn to become misaligned (causing stretched, triangular, and diagonal faces), and eventually corrupt completely, rendering the GUI unusable (given the GUI refreshes every frame as opposed to just every time a block updates).

Note that this glitch can be used to determine the order of the vertices. Here is the surface of a completely flat chunk, with the  characters representing the order of the vertices (top left, top right, bottom left, bottom right) for each block face. The Zs are read in the normal order for text. ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZ Note that drawing a face between a set of 4 vertices that's misaligned with the actual blocks results in triangles or diagonal block faces, exactly what is seen on flat terrain in the original version.

If the tesselator is offset by 4, it returns to the proper state (just skipping a block), and thus the glitches can appear to undo themselves (though, the GUI will still fail to render).

- Random chunk ticks on "bad" chunks can also cause the tesselator to update, and sometimes stop rendering a chunk entirely.

Trivia

 * The name of the game is changed from "Minecraft: Order of the Stone" to simply just "Minecraft".
 * The "rd" before the version number stands for RubyDung, a game Notch was working on before Minecraft, whose codebase was later reused for Minecraft.
 * When taking a screenshot with PrintScreen, it will take a screenshot of the frame that the program first showed on the screen. Each time the player runs or alt-tabs into the program, it updates that image in memory. When the player hits print screen, it doesn't take what's shown on the player's screen, but for some reason pulls it from that memory.