Skip to content

Data Storage

XMCL data is divided into two parts:

  1. XMCL as a cache and database generated by chromium
  2. Minecraft related data

XMCL cache and database

The cache related to XMCL itself is stored in the system appdata path, which is different on different platforms.

cmd
%AppData%\xmcl
cmd
# Version < 0.34
%LocalAppData%\Packages\XMCL_ncdvebj03zfcm\LocalCache\Roaming\xmcl
# Version >= 0.34 and < 0.40
%LocalAppData%\Packages\XMCL_68mcaawk44tpj\LocalCache\Roaming\xmcl
sh
~/Library/Application Support/xmcl
sh
~/.config/xmcl

Note

Do not delete the files here unless you know what you are doing.

Here you will find some json files used to store various configurations, and the database will also be stored here.

  • User data. Stores users' accounts, skin links, etc. Stored in the /user.json file.
  • Global settings. Global settings, such as language, proxy URL, download node, etc. Stored in the /settings.json file.
  • Instance cache. Records the last selected instance path and the paths of all known instances. Stored in the /instances.json file.
  • Java cache. Records detected Java paths, version information, etc. Stored in the /java.json file.
  • Resource database. Metadata for resource files, such as parsed mod information. Stored in leveldb format, in the /resources-v2 folder.
  • Logs. XMCL historical logs. Stored in the /logs folder.

I believe you are very familiar with the directory structure of Minecraft data. The data directory of XMCL is slightly different from that of Minecraft:

sh
"Public Data folder"
└─ 📂mods # Shared mods folder for all instances
  └─ modA.jar # A specific mod file, instance might link mods from it.
├─ 📂resourcepacks # Shared resourcepacks folder for all instances
├─ 📂shaderpacks # Shared shaderpacks folder for all instances
├─ 📂versions # Shared versions folder for all instances
├─ 📂assets # Shared assets folder for all instances
├─ 📂libraries # Shared libraries folder for all instances
└─ 📂instances # Contains the instances created by XMCL

Most of the content is actually the same as Minecraft, among which the instances folder contains all instance files.

Released under the MIT License.