mirror of
https://github.com/MultiMC/MultiMC5.git
synced 2024-10-06 06:50:16 +00:00
Try to import neoforged packs from FTB
Maybe this will work, maybe it will not. It's better than importing them completely wrong though.
This commit is contained in:
parent
2c9e7b75f4
commit
d22707c7fc
@ -186,6 +186,7 @@ void resolveModloader(QString mcVersion, ModLoader &loader) {
|
|||||||
{
|
{
|
||||||
QJsonDocument doc = Json::requireDocument(data);
|
QJsonDocument doc = Json::requireDocument(data);
|
||||||
QJsonObject root = Json::requireObject(doc, "version.json");
|
QJsonObject root = Json::requireObject(doc, "version.json");
|
||||||
|
bool isProbablyNeoforge = false;
|
||||||
for (auto library: Json::ensureArray(root, "libraries", {}))
|
for (auto library: Json::ensureArray(root, "libraries", {}))
|
||||||
{
|
{
|
||||||
if (!library.isObject())
|
if (!library.isObject())
|
||||||
@ -197,6 +198,10 @@ void resolveModloader(QString mcVersion, ModLoader &loader) {
|
|||||||
GradleSpecifier name = Json::requireString(libraryObject, "name");
|
GradleSpecifier name = Json::requireString(libraryObject, "name");
|
||||||
auto artifactPrefix = name.artifactPrefix();
|
auto artifactPrefix = name.artifactPrefix();
|
||||||
|
|
||||||
|
if(artifactPrefix.startsWith("net.neoforged.fancymodloader:")) {
|
||||||
|
isProbablyNeoforge = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(artifactPrefix == "net.minecraftforge:forge") {
|
if(artifactPrefix == "net.minecraftforge:forge") {
|
||||||
QString libraryVersion = name.version();
|
QString libraryVersion = name.version();
|
||||||
loader.type = ModLoaderType::Forge;
|
loader.type = ModLoaderType::Forge;
|
||||||
@ -231,7 +236,12 @@ void resolveModloader(QString mcVersion, ModLoader &loader) {
|
|||||||
for (auto arg: gameArgs) {
|
for (auto arg: gameArgs) {
|
||||||
QString value = Json::ensureValueString(arg, QString());
|
QString value = Json::ensureValueString(arg, QString());
|
||||||
if(versionIsNext) {
|
if(versionIsNext) {
|
||||||
|
if(isProbablyNeoforge) {
|
||||||
|
loader.type = ModLoaderType::NeoForge;
|
||||||
|
}
|
||||||
|
else {
|
||||||
loader.type = ModLoaderType::Forge;
|
loader.type = ModLoaderType::Forge;
|
||||||
|
}
|
||||||
loader.version = value;
|
loader.version = value;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ enum class ModLoaderType {
|
|||||||
Unresolved,
|
Unresolved,
|
||||||
None,
|
None,
|
||||||
Forge,
|
Forge,
|
||||||
|
NeoForge,
|
||||||
Fabric,
|
Fabric,
|
||||||
Quilt
|
Quilt
|
||||||
};
|
};
|
||||||
|
@ -62,6 +62,10 @@ void PackInstallTask::copyFinished() {
|
|||||||
components->setComponentVersion("net.minecraftforge", modloader.version, true);
|
components->setComponentVersion("net.minecraftforge", modloader.version, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ModLoaderType::NeoForge: {
|
||||||
|
components->setComponentVersion("net.neoforged", modloader.version, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ModLoaderType::Fabric: {
|
case ModLoaderType::Fabric: {
|
||||||
components->setComponentVersion("net.fabricmc.fabric-loader", modloader.version, true);
|
components->setComponentVersion("net.fabricmc.fabric-loader", modloader.version, true);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user