LCE Pre-Release Save File

[!NOTE] Data in this format is endian-dependant and also commonly has compression applied to it.
Check out Basic Info.md for more info.

Upgrading

  • These save files can be upgraded to the new format, working in atleast TU0, does not work in TU75.
  • Upgrading a world in this format will usually leave a “players_” file. This also means you will lose your player data upon loading a save in a newer version.
  • When upgraded, the timestamps of all the files are set to 0L.

Save file structure

| Name | Size (in bytes) | Description | |——|—————–|————-| | Offset | 0x04 (uint) | Offset of File Index | Index Size | 0x04 (uint) | Size of File Index in bytes | Minimum Version | 0x02 (ushort) | Minimum file version the LCE client has to support to load the save (might not be used in-game) | Current Version | 0x02 (ushort) | Current version of the save file | File Data | variable | bytes of each file contained inside the save | File Index | variable | Filenames, offsets within save, and size in bytes of files.

[!TIP] You can get the file count by dividing the Index Size by 136 (e.g $1360 / 136$)

File Index

| Name | Size (in bytes) | Description | |——|—————–|————-| | File Name | 0x80 | UTF16 UNIX-style path string to dictate the path of the file | File Size | 0x04 (uint) | Size of file in bytes | File Offset | 0x04 (uint) | Offset of file in bytes

[!WARNING] There may be index data at the end of NBT file data
I assume that these versions might not remove index data from files as usually it’d not get read at all…