feat(frontend): Package datapack as NeoForge mod (#2142)

This commit is contained in:
Norbiros
2024-08-10 22:46:42 +02:00
committed by GitHub
parent 34d3310eae
commit a380d39865
2 changed files with 19 additions and 3 deletions

View File

@@ -119,6 +119,16 @@ export const createDataPackVersion = async function (
forgeModsToml.issueTrackerURL = project.issues_url;
}
const neoModsToml = {
...forgeModsToml,
modLoader: "javafml",
loaderVersion: "[1,)",
mods: forgeModsToml.mods.map((mod) => ({
...mod,
updateJSONURL: mod.updateJSONURL + "?neoforge=only",
})),
};
const primaryFileData = await (await fetch(primaryFile.url)).blob();
const primaryZipReader = new JSZip();
@@ -133,6 +143,12 @@ export const createDataPackVersion = async function (
if (loaders.includes("forge")) {
primaryZipReader.file("META-INF/mods.toml", TOML.stringify(forgeModsToml, { newline: "\n" })); // eslint-disable-line import/no-named-as-default-member
}
if (loaders.includes("neoforge")) {
primaryZipReader.file(
"META-INF/neoforge.mods.toml",
TOML.stringify(neoModsToml, { newline: "\n" }), // eslint-disable-line import/no-named-as-default-member
);
}
if (!newForge && loaders.includes("forge")) {
const classFile = new Uint8Array(

View File

@@ -27,13 +27,13 @@
<multiselect
id="package-mod-loaders"
v-model="packageLoaders"
:options="['fabric', 'forge', 'quilt']"
:options="['fabric', 'forge', 'quilt', 'neoforge']"
:custom-label="(value) => value.charAt(0).toUpperCase() + value.slice(1)"
:multiple="true"
:searchable="false"
:show-no-results="false"
:show-labels="false"
placeholder="Choose loaders.."
placeholder="Choose loaders..."
open-direction="top"
/>
<div class="button-group">
@@ -901,7 +901,7 @@ export default defineNuxtComponent({
newFileTypes: [],
packageLoaders: ["forge", "fabric", "quilt"],
packageLoaders: ["forge", "fabric", "quilt", "neoforge"],
showKnownErrors: false,
shouldPreventActions: false,