Skip to content

Commit a0ad345

Browse files
authored
Merge pull request #9 from OrnitheMC/develop-gen2-fix-dependencies
[develop page] fix extra dependencies info for Minecraft versions b1.0-1.3 when gen2 is selected
2 parents a28508a + 25bf9b8 commit a0ad345

1 file changed

Lines changed: 47 additions & 51 deletions

File tree

public/develop.js

Lines changed: 47 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -73,90 +73,86 @@ import {
7373
const featherBuild = await getLatestFeatherBuild(gen, minecraftVersion);
7474

7575
if (featherBuild !== null) {
76-
addExtraMsg("Make sure to use the \"merged\" mod template for this Minecraft version!");
76+
// for gen1, Feather builds for Minecraft 1.3+ are for all sides
77+
// for gen2, Feather builds for all Minecraft versions are for all sides
78+
await addOrnitheDependenciesForBothSides(lines, gen, minecraftVersion, featherBuild);
79+
// Raven, Sparrow, Nests builds for Minecraft versions between b1.0 and 1.3
80+
// are for one side only, regardless of the intermediary gen
81+
await addOrnitheDependenciesForOneSide(lines, gen, minecraftVersion, "client", null);
82+
await addOrnitheDependenciesForOneSide(lines, gen, minecraftVersion, "server", null);
83+
} else {
84+
// this block is only reached for gen1 for Minecraft versions older than 1.3
85+
// where Feather builds are for one side only
86+
const clientFeatherBuild = await getLatestFeatherBuild(gen,`${minecraftVersion}-client`);
87+
const serverFeatherBuild = await getLatestFeatherBuild(gen,`${minecraftVersion}-server`);
88+
89+
await addOrnitheDependenciesForOneSide(lines, gen, minecraftVersion, "client", clientFeatherBuild);
90+
await addOrnitheDependenciesForOneSide(lines, gen, minecraftVersion, "server", serverFeatherBuild);
7791

78-
lines = lines.concat(await getOrnitheDependenciesForMerged(minecraftVersion, featherBuild));
92+
// Raven, Sparrow, Nests builds for Minecraft versions older than b1.0
93+
// or newer than 1.3 are for all sides, regardless of the intermediary gen
94+
await addOrnitheDependenciesForBothSides(lines, gen, minecraftVersion, null);
95+
}
96+
97+
if (gen === "gen2") {
98+
addExtraMsg("Make sure to use the \"gen2\" mod template!");
99+
} else if (featherBuild !== null) {
100+
addExtraMsg("Make sure to use the \"merged\" mod template for this Minecraft version!");
79101
} else {
80102
addExtraMsg("Make sure to use the \"split\" mod template for this Minecraft version!");
81-
82-
lines = lines.concat(await getOrnitheDependenciesForSplit(gen, minecraftVersion, "client"));
83-
lines = lines.concat(await getOrnitheDependenciesForSplit(gen, minecraftVersion, "server"));
84103
}
85104

86105
return lines.join("\n");
87106
}
88107

89-
async function getOrnitheDependenciesForMerged(minecraftVersion, featherBuild) {
90-
const lines = [];
91-
108+
async function addOrnitheDependenciesForBothSides(lines, gen, minecraftVersion, featherBuild) {
92109
const ravenBuild = await getLatestRavenBuild(minecraftVersion);
93110
const sparrowBuild = await getLatestSparrowBuild(minecraftVersion);
94111
const nestsBuild = await getLatestNestsBuild(minecraftVersion);
95112

96-
lines.push(`feather_build = ${featherBuild}`);
113+
if (featherBuild !== null) {
114+
lines.push(`feather_build = ${featherBuild}`);
115+
}
97116
if (ravenBuild !== null) {
98117
lines.push(`raven_build = ${ravenBuild}`);
99-
} else {
100-
addExtraMsg("Raven is unavailable for this Minecraft version - make sure to edit your build.gradle appropriately!");
101118
}
102119
if (sparrowBuild !== null) {
103120
lines.push(`sparrow_build = ${sparrowBuild}`);
104-
} else {
105-
addExtraMsg("Sparrow is unavailable for this Minecraft version - make sure to edit your build.gradle appropriately!");
106121
}
107122
if (nestsBuild !== null) {
108123
lines.push(`nests_build = ${nestsBuild}`);
109-
} else {
110-
addExtraMsg("Nests are unavailable for this Minecraft version - make sure to edit your build.gradle appropriately!");
111124
}
112-
113-
return lines;
114125
}
115126

116-
async function getOrnitheDependenciesForSplit(gen, minecraftVersion, environment) {
117-
const featherBuild = await getLatestFeatherBuild(gen,`${minecraftVersion}-${environment}`);
127+
async function addOrnitheDependenciesForOneSide(lines, gen, minecraftVersion, environment, featherBuild) {
128+
const ravenBuild = await getLatestRavenBuild(`${minecraftVersion}-${environment}`);
129+
const sparrowBuild = await getLatestSparrowBuild(`${minecraftVersion}-${environment}`);
130+
const nestsBuild = await getLatestNestsBuild(`${minecraftVersion}-${environment}`);
118131

119-
if (featherBuild !== null) {
120-
const lines = [
121-
"",
122-
`### <project root>/${environment}/gradle.properties`,
123-
`environment = ${environment}`
124-
];
125-
126-
let ravenBuild = await getLatestRavenBuild(minecraftVersion);
127-
if (ravenBuild === null) {
128-
ravenBuild = await getLatestRavenBuild(`${minecraftVersion}-${environment}`);
129-
}
130-
let sparrowBuild = await getLatestSparrowBuild(minecraftVersion);
131-
if (sparrowBuild === null) {
132-
sparrowBuild = await getLatestSparrowBuild(`${minecraftVersion}-${environment}`);
133-
}
134-
let nestsBuild = await getLatestNestsBuild(minecraftVersion);
135-
if (nestsBuild === null) {
136-
nestsBuild = await getLatestNestsBuild(`${minecraftVersion}-${environment}`);
132+
if (featherBuild !== null || ravenBuild !== null || sparrowBuild !== null || nestsBuild !== null) {
133+
lines.push("");
134+
if (gen === "gen1") {
135+
lines.push(`### <project root>/${environment}/gradle.properties`)
136+
lines.push(`environment = ${environment}`)
137137
}
138138

139-
lines.push(`feather_build = ${featherBuild}`);
139+
// the gen1 mod template uses a subproject structure
140+
// similar properties can have the same name in different subprojects
141+
const prefix = gen === "gen1" ? "" : `${environment}_`;
142+
143+
if (featherBuild !== null) {
144+
lines.push(`feather_build = ${featherBuild}`);
145+
}
140146
if (ravenBuild !== null) {
141-
lines.push(`raven_build = ${ravenBuild}`);
142-
} else {
143-
addExtraMsg(`Raven is unavailable on the ${environment} for this Minecraft version - make sure to edit your build.gradle appropriately!`);
147+
lines.push(`${prefix}raven_build = ${ravenBuild}`);
144148
}
145149
if (sparrowBuild !== null) {
146-
lines.push(`sparrow_build = ${sparrowBuild}`);
147-
} else {
148-
addExtraMsg(`Sparrow is unavailable on the ${environment} for this Minecraft version - make sure to edit your build.gradle appropriately!`);
150+
lines.push(`${prefix}sparrow_build = ${sparrowBuild}`);
149151
}
150152
if (nestsBuild !== null) {
151-
lines.push(`nests_build = ${nestsBuild}`);
152-
} else {
153-
addExtraMsg(`Nests are unavailable on the ${environment} for this Minecraft version - make sure to edit your build.gradle appropriately!`);
153+
lines.push(`${prefix}nests_build = ${nestsBuild}`);
154154
}
155-
156-
return lines;
157155
}
158-
159-
return [];
160156
}
161157

162158
Object.entries(loaderSelectorRadios).forEach(([_, button]) => button.addEventListener("change", async _ => await updateOrnitheDependencies()));

0 commit comments

Comments
 (0)