From 8a56ab6780f525472dce4dccdd53fec41390d586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Wed, 16 Jul 2014 02:03:52 +0200 Subject: Implement gradle spec reader/writer --- logic/InstanceList.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'logic/InstanceList.cpp') diff --git a/logic/InstanceList.cpp b/logic/InstanceList.cpp index 8a68c334..650f5c80 100644 --- a/logic/InstanceList.cpp +++ b/logic/InstanceList.cpp @@ -331,7 +331,29 @@ QSet InstanceList::discoverFTBInstances() continue; record.name = attrs.value("name").toString(); record.logo = attrs.value("logo").toString(); - record.mcVersion = attrs.value("mcVersion").toString(); + auto customVersions = attrs.value("customMCVersions"); + if(!customVersions.isNull()) + { + QMap versionMatcher; + QString customVersionsStr = customVersions.toString(); + QStringList list = customVersionsStr.split(';'); + for(auto item: list) + { + auto segment = item.split('^'); + if(segment.size() != 2) + { + QLOG_ERROR() << "FTB: Segment of size < 2 in " << customVersionsStr; + continue; + } + versionMatcher[segment[0]] = segment[1]; + } + auto actualVersion = attrs.value("version").toString(); + record.mcVersion = versionMatcher[actualVersion]; + } + else + { + record.mcVersion = attrs.value("mcVersion").toString(); + } record.description = attrs.value("description").toString(); records.insert(record); } -- cgit v1.2.3