Merge pull request #2382 from Trial97/neoforge_technic
Add neoforge support for technic packs and atlauncher packs
This commit is contained in:
commit
eb0d0450e3
@ -1031,6 +1031,12 @@ void PackInstallTask::install()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
components->setComponentVersion("net.minecraftforge", version);
|
components->setComponentVersion("net.minecraftforge", version);
|
||||||
|
} else if (m_version.loader.type == QString("neoforge")) {
|
||||||
|
auto version = getVersionForLoader("net.neoforged");
|
||||||
|
if (version == Q_NULLPTR)
|
||||||
|
return;
|
||||||
|
|
||||||
|
components->setComponentVersion("net.neoforged", version);
|
||||||
} else if (m_version.loader.type == QString("fabric")) {
|
} else if (m_version.loader.type == QString("fabric")) {
|
||||||
auto version = getVersionForLoader("net.fabricmc.fabric-loader");
|
auto version = getVersionForLoader("net.fabricmc.fabric-loader");
|
||||||
if (version == Q_NULLPTR)
|
if (version == Q_NULLPTR)
|
||||||
|
@ -155,8 +155,26 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
|
|||||||
auto libraryObject = Json::ensureObject(library, {}, "");
|
auto libraryObject = Json::ensureObject(library, {}, "");
|
||||||
auto libraryName = Json::ensureString(libraryObject, "name", "", "");
|
auto libraryName = Json::ensureString(libraryObject, "name", "", "");
|
||||||
|
|
||||||
if ((libraryName.startsWith("net.minecraftforge:forge:") || libraryName.startsWith("net.minecraftforge:fmlloader:")) &&
|
if (libraryName.startsWith("net.neoforged.fancymodloader:")) { // it is neoforge
|
||||||
libraryName.contains('-')) {
|
// no easy way to get the version from the libs so use the arguments
|
||||||
|
auto arguments = Json::ensureObject(root, "arguments", {});
|
||||||
|
bool isVersionArg = false;
|
||||||
|
QString neoforgeVersion;
|
||||||
|
for (auto arg : Json::ensureArray(arguments, "game", {})) {
|
||||||
|
auto argument = Json::ensureString(arg, "");
|
||||||
|
if (isVersionArg) {
|
||||||
|
neoforgeVersion = argument;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
isVersionArg = "--fml.neoForgeVersion" == argument || "--fml.forgeVersion" == argument;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!neoforgeVersion.isEmpty()) {
|
||||||
|
components->setComponentVersion("net.neoforged", neoforgeVersion);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
} else if ((libraryName.startsWith("net.minecraftforge:forge:") || libraryName.startsWith("net.minecraftforge:fmlloader:")) &&
|
||||||
|
libraryName.contains('-')) {
|
||||||
QString libraryVersion = libraryName.section(':', 2);
|
QString libraryVersion = libraryName.section(':', 2);
|
||||||
if (!libraryVersion.startsWith("1.7.10-")) {
|
if (!libraryVersion.startsWith("1.7.10-")) {
|
||||||
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1));
|
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1));
|
||||||
@ -164,6 +182,7 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
|
|||||||
// 1.7.10 versions sometimes look like 1.7.10-10.13.4.1614-1.7.10, this filters out the 10.13.4.1614 part
|
// 1.7.10 versions sometimes look like 1.7.10-10.13.4.1614-1.7.10, this filters out the 10.13.4.1614 part
|
||||||
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1, 1));
|
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1, 1));
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
// <Technic library name prefix> -> <our component name>
|
// <Technic library name prefix> -> <our component name>
|
||||||
static QMap<QString, QString> loaderMap{ { "net.minecraftforge:minecraftforge:", "net.minecraftforge" },
|
static QMap<QString, QString> loaderMap{ { "net.minecraftforge:minecraftforge:", "net.minecraftforge" },
|
||||||
|
Loading…
Reference in New Issue
Block a user