User:Bluecrab2MC/ClassicLevelFormat

This is specific documentation of the file format in all classic versions. The version range are only documenting archived versions since missing versions can't be tested with. All the files are zipped in a .gz archive.

rd-132211 to 0.0.12a_03
During these versions, there was no header or footer it was just an array of blocks.

Classic 0.0.13a-dev to Classic 0.0.13a_03
During these versions, there was only a header with a few pieces of information.

Classic 0.0.14a_08 to 0.0.15a
This version begins with these bytes:

After the header bytes, the file uses Java's Serializable interface to save the  class. The Level class contains the following fields in this version range:

Each Zombie extends Entity which has the following fields:

Zombie has these fields:

Where an AABB has the following fields:

Classic 0.0.16a_02 to 0.0.18a_02
This version range only changed two fields from the previous version range:

The Entity class had its  renamed to   and   renamed to.

Classic 0.0.19a_04 to 21a
This version range only added one field from the previous version range:

The Level class gained the  boolean field.

Classic 0.0.22a_05 to 23a_01
This version range only added two fields from the previous version range:

The Entity class gained a  boolean field and a   float field.

Classic 0.25_05 SURVIVAL TEST to
This version saw a massive change in the save file, during the change to survival.

The Level gained new environment fields: