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; 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 primaryFileData = await (await fetch(primaryFile.url)).blob();
const primaryZipReader = new JSZip(); const primaryZipReader = new JSZip();
@@ -133,6 +143,12 @@ export const createDataPackVersion = async function (
if (loaders.includes("forge")) { if (loaders.includes("forge")) {
primaryZipReader.file("META-INF/mods.toml", TOML.stringify(forgeModsToml, { newline: "\n" })); // eslint-disable-line import/no-named-as-default-member 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")) { if (!newForge && loaders.includes("forge")) {
const classFile = new Uint8Array( const classFile = new Uint8Array(

View File

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