129 lines
3.8 KiB
Markdown
129 lines
3.8 KiB
Markdown
# File Formats
|
|
|
|
Inceptum uses several json formats to store metadata and configs.
|
|
All of these are subject to change, though automatic migrations will likely be provided.
|
|
|
|
## inceptum.json (Main Config)
|
|
|
|
```json5
|
|
{
|
|
// Whether to show snapshots in the version selector for new instances
|
|
"snapshots": false,
|
|
// Whether to launch the GUI in dark mode
|
|
// Configurable in Settings->Dark Theme
|
|
"darkTheme": true,
|
|
// Whether to require an account to launch the game
|
|
// Intended to allow running the game from USB sticks on constrained networks
|
|
"enforceAccount": false,
|
|
// The currently selected account
|
|
// Used to launch the game
|
|
"lastAccount": "some UUID",
|
|
// The last name used for an offline session
|
|
"offlineAccountLastName": "some name",
|
|
// The update channel. Either "CI" or "Stable"
|
|
// I personally recommend the CI channel as it gets the latest fixes and features quicker
|
|
"channel": "CI",
|
|
// The author name to add to packs where the metadata format requires specifying one
|
|
"authorName": "Inceptum"
|
|
}
|
|
```
|
|
|
|
## accounts.json
|
|
|
|
Do not EVER use this file manually!
|
|
NEVER upload it anywhere!
|
|
It stores your minecraft account login and CAN BE USED TO IMPERSONATE YOU!
|
|
|
|
## instance.json (Instance Metadata)
|
|
|
|
Please note that all entries except for "version" are optional
|
|
|
|
```json5
|
|
{
|
|
// The version to use for launching this
|
|
// Can be a fabric loader version (as seen here) or a normal minecraft version (like "1.17.1")
|
|
"version": "fabric-loader-0.12.12-1.17.1",
|
|
// A custom java executable to use for launching this instance
|
|
"java": "/path/to/java",
|
|
// Sets the initial size of the Java heap
|
|
// In bytes (this is 2MB)
|
|
"minMem": 2097152,
|
|
// Sets the maximum size to which the Java heap can grow
|
|
// In bytes (this is 2GB)
|
|
"maxMem": 2147483648,
|
|
// Additional arguments to pass to minecraft
|
|
"arguments": {
|
|
// JVM arguments to add
|
|
// Use this for things like aikars flags or java agents
|
|
"jvm": [
|
|
"-Dsome.argument=value"
|
|
],
|
|
// Arguments to add when launching as a client
|
|
// Generally not needed, but can be used to do things like launching a server (I think)
|
|
"client": [
|
|
"someArgument"
|
|
],
|
|
// Arguments to add when launching as a server
|
|
// Things like "nogui" go here
|
|
"server": [
|
|
"nogui"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
## *.imod (Mod Metadata)
|
|
|
|
```json5
|
|
{
|
|
// Where the JAR file for this mod can be obtained
|
|
"sources": [
|
|
{
|
|
// The type of the source
|
|
// In this case, Modrinth
|
|
"type": "modrinth",
|
|
// The ID of the version on modrinth
|
|
"id": "31ES0yWr"
|
|
},
|
|
{
|
|
// The type of the source
|
|
// In this case, CurseForge
|
|
"type": "curseforge",
|
|
// The ID of the project on CurseForge
|
|
"projectId": 306612,
|
|
// The ID of the file on CurseForge
|
|
"fileId": 3609590
|
|
},
|
|
{
|
|
// The type of the source
|
|
// In this case, a direct download
|
|
"type": "direct",
|
|
// The name of the file this should be saved as
|
|
"fileName": "fabric-api-0.46.1+1.17.jar",
|
|
// The URL to download from
|
|
"url": "https://cdn.modrinth.com/data/P7dR8mSH/versions/0.46.1+1.17/fabric-api-0.46.1+1.17.jar",
|
|
// Dependencies for this file (optional)
|
|
"dependencies": [
|
|
// Dependencies in the same dependency format used int "sources"
|
|
]
|
|
}
|
|
],
|
|
// The sha1 hash of this file
|
|
// Used to verify downloads and for modrinth
|
|
"sha1": "a7d86f36c5b27bdb0008a84c3ce91e2b095a2834",
|
|
// The murmur2 hash of this file
|
|
// Used for curseforge
|
|
"murmur2": "1020327834",
|
|
// A list of dependent mods by their file names
|
|
"dependents": [
|
|
"someMod.imod"
|
|
],
|
|
// A list of dependencies by their file names
|
|
"dependencies": [
|
|
"someOtherMod.imod"
|
|
],
|
|
// Whether this mod was explicitly installed (used during mod removal)
|
|
"explicit": true
|
|
}
|
|
```
|