This file contains thoughts, ideas and hopefully a format for Project Argonauts.
- It should wrap around existing data as much as possible
- Strictly declarative; nothing that "runs"
- Type system with simple templates
{ | |
"formatVersion": 0, | |
"uid": "net.minecraftforge", | |
"version": "1.3.2.01", | |
"time": 1328269373, | |
"requires": [ | |
{ | |
"uid": "net.minecraft", | |
"version": "1.1" | |
} |
{ | |
"formatVersion": 0, | |
"uid": "net.minecraftforge", | |
"version": "1.3.2.01", | |
"time": 1328269373, | |
"requires": [ | |
{ | |
"uid": "net.minecraft", | |
"version": "1.1" | |
} |
{ | |
"formatVersion": 0, | |
"uid": "net.minecraftforge", | |
"version": "4.0.0.192", | |
"time": 1345030349, | |
"requires": [ | |
{ | |
"uid": "net.minecraft", | |
"version": "1.3.2" | |
} |
#!/usr/bin/env groovy | |
import groovy.json.internal.JsonFastParser | |
import groovy.transform.CompileStatic | |
import groovy.transform.Field | |
@Field | |
JsonFastParser jsonParser = new JsonFastParser(false, false, false, false) | |
@Field | |
char[] data = new File("json.json").text.toCharArray() |
for (int i = 1; i < argc; ++i) | |
{ | |
const std::string arg = argv[i]; | |
if (expectedArgument && arg[0] != '-') | |
{ | |
items.back().hasArgument = true; | |
} | |
else | |
{ | |
if (arg[0] == '-' && !noMoreOptions) |
Currently we have 2 attributes for version identification: name and timestamp. The name is used for cosmetic purposes; displaying in the UI etc., while the timestamp is used for ordering.
Now, the question is: how should versions be referenced internally? The available options are:
/* | |
* Possible backends: | |
* Git: https://projects.kde.org/projects/playground/libs/libqgit2/, http://libgit2.github.com/ | |
* Dropbox: https://www.dropbox.com/developers/core/docs (HTTP) | |
*/ | |
class SyncVersion : public BaseVersion | |
{ | |
public: | |
QString identifier; |
This proposal is mostly about changes to the version.json file format, made so that these files can be patched together to form the information needed to create and run an instance. The idea is to only have this description inside the instance directory, thus making it easy to check in the instance to a VCS like Git.
update_url = "" | |
version = "0.0.1" | |
name = "LiteLoader" | |
author = "MultiMC authors" | |
id = "org.multimc.liteloader" | |
register_entity_provider({ | |
id = "com.liteloader", | |
static_entities = { | |
{ |