Skip to content

Commit 7061503

Browse files
authored
Merge pull request #8 from thdaele/diff_viewer_gen2
gen2 feather diff
2 parents a0ad345 + 21b131a commit 7061503

4 files changed

Lines changed: 66 additions & 20 deletions

File tree

public/develop.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,21 @@ import {
1010
} from "./meta_maven_utils.js";
1111

1212
(async () => {
13-
let minecraftStableVersions = await getMinecraftStableVersions("gen1");
14-
let minecraftAllVersions = await getMinecraftVersions("gen1");
13+
const genSelectorRadios = {
14+
gen1: document.getElementById("generation-gen1"),
15+
gen2: document.getElementById("generation-gen2")
16+
}
17+
18+
const gen = Object.entries(genSelectorRadios).find(([_, button]) => button.checked)[0];
19+
let minecraftStableVersions = await getMinecraftStableVersions(gen);
20+
let minecraftAllVersions = await getMinecraftVersions(gen);
1521

1622
let possibleVersions;
1723

1824
const loaderSelectorRadios = {
1925
fabric: document.getElementById("mod-loader-fabric"),
2026
quilt: document.getElementById("mod-loader-quilt")
2127
}
22-
const genSelectorRadios = {
23-
gen1: document.getElementById("generation-gen1"),
24-
gen2: document.getElementById("generation-gen2")
25-
}
2628
const versionSelectorInput = document.getElementById("mc-version");
2729
const versionListElement = document.getElementById("version-list");
2830
const allowSnapshotsCheck = document.getElementById("allow-snapshots");

public/feather_diff.js

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,21 @@ import {
1010
import * as tiny from "./tiny_mappings.js";
1111

1212
(async () => {
13-
const minecraftStableVersions = await getMinecraftStableVersions("gen1");
14-
const minecraftAllVersions = await getMinecraftVersions("gen1");
13+
const genSelectorRadios = {
14+
gen1: document.getElementById("generation-gen1"),
15+
gen2: document.getElementById("generation-gen2")
16+
}
17+
18+
const gen = Object.entries(genSelectorRadios).find(([_, button]) => button.checked)[0];
19+
let minecraftStableVersions = await getMinecraftStableVersions(gen);
20+
let minecraftAllVersions = await getMinecraftVersions(gen);
1521

1622
let possibleVersions;
1723

1824
const versionSelectorInput = document.getElementById("mc-version");
1925
const versionListElement = document.getElementById("version-list");
2026
const allowSnapshotsCheck = document.getElementById("allow-snapshots");
27+
const featherGenSelector = document.getElementById("calamus-gen-selectors");
2128

2229
const buildSourceElement = document.getElementById("build-source");
2330
const buildTargetElement = document.getElementById("build-target");
@@ -29,7 +36,8 @@ import * as tiny from "./tiny_mappings.js";
2936
if (
3037
possibleVersions.some((version) => versionSelectorInput.value === version)
3138
) {
32-
await getFeatherVersionMeta("gen1", versionSelectorInput.value).then(
39+
const gen = Object.entries(genSelectorRadios).find(([_, button]) => button.checked)[0];
40+
await getFeatherVersionMeta(gen, versionSelectorInput.value).then(
3341
(featherVersionMeta) => {
3442
buildSourceElement.innerHTML = "";
3543
buildTargetElement.innerHTML = "";
@@ -47,11 +55,16 @@ import * as tiny from "./tiny_mappings.js";
4755

4856
// Hide the diff viewer bc the source and target builds are the same
4957
diffViewerElement.style.display = "none";
58+
} else {
59+
buildSourceElement.innerHTML = "";
60+
buildTargetElement.innerHTML = "";
61+
diffViewerElement.style.display = "none";
5062
}
5163
}
5264

5365
async function getTinyMappings(version) {
54-
let arrayBuf = await getFeatherBuildMaven(version)
66+
const gen = Object.entries(genSelectorRadios).find(([_, button]) => button.checked)[0];
67+
let arrayBuf = await getFeatherBuildMaven(gen, version)
5568
.then((response) => response.blob()) // Get response as a Blob
5669
.then(async (blob) => {
5770
const arrayBuffer = await blob.arrayBuffer(); // Convert Blob to ArrayBuffer
@@ -142,14 +155,18 @@ import * as tiny from "./tiny_mappings.js";
142155
);
143156

144157
allowSnapshotsCheck.addEventListener("change", (_) => {
145-
if (allowSnapshotsCheck.checked) {
146-
possibleVersions = minecraftAllVersions;
147-
} else {
148-
possibleVersions = minecraftStableVersions;
149-
}
150158
updateVersionList();
151159
});
152160

161+
featherGenSelector.addEventListener("change", async (e) => {
162+
const gen = Object.entries(genSelectorRadios).find(([_, button]) => button === e.target)[0];
163+
minecraftStableVersions = await getMinecraftStableVersions(gen);
164+
minecraftAllVersions = await getMinecraftVersions(gen);
165+
166+
updateVersionList();
167+
await updateFeatherBuilds();
168+
})
169+
153170
buildSourceElement.addEventListener(
154171
"change",
155172
async (_) => await updateFeatherDiff(),
@@ -165,17 +182,21 @@ import * as tiny from "./tiny_mappings.js";
165182
});
166183

167184
function updateVersionList() {
168-
const list = possibleVersions;
185+
if (allowSnapshotsCheck.checked) {
186+
possibleVersions = minecraftAllVersions;
187+
} else {
188+
possibleVersions = minecraftStableVersions;
189+
}
190+
169191
while (versionListElement.firstChild)
170192
versionListElement.removeChild(versionListElement.lastChild);
171-
list.forEach((e) => {
193+
possibleVersions.forEach((e) => {
172194
const opt = new Option();
173195
opt.value = e;
174196
versionListElement.appendChild(opt);
175197
});
176198
}
177199

178-
possibleVersions = minecraftStableVersions;
179200
updateVersionList();
180201
await updateFeatherBuilds();
181202
})();

public/meta_maven_utils.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,21 @@ function makeOrnitheMavenUrl(...pathComponents) {
143143
return makeMavenUrl("net/ornithemc", ...pathComponents);
144144
}
145145

146-
export async function getFeatherBuildMaven(version) {
147-
const url = makeOrnitheMavenUrl("feather", version, "feather-" + version + "-tiny.gz");
146+
export async function getFeatherBuildMaven(ornitheGen, version) {
147+
let feather;
148+
switch (ornitheGen) {
149+
case "gen1": {
150+
feather = "feather";
151+
break;
152+
}
153+
case "gen2": {
154+
feather = "feather-gen2";
155+
break;
156+
}
157+
default: {
158+
throw new Error("Invalid generation: " + ornitheGen);
159+
}
160+
}
161+
const url = makeOrnitheMavenUrl(feather, version, feather + "-" + version + "-tiny.gz");
148162
return await fetch(url);
149163
}

src/pages/featherDiff.astro

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ import Layout from "../layouts/Layout.astro";
1616
<label for="allow-snapshots">Include Snapshots</label>
1717
</fieldset>
1818

19+
<fieldset id="calamus-gen-selectors">
20+
<legend>Select a Calamus (Intermediary) Generation</legend>
21+
<input type="radio" id="generation-gen1" name="calamus-generation" checked />
22+
<label for="generation-gen1">Gen1</label>
23+
24+
<input type="radio" id="generation-gen2" name="calamus-generation" />
25+
<label for="generation-gen2">Gen2</label>
26+
</fieldset>
27+
1928
<label for="mc-version">Game version</label>
2029
<input type="text" id="mc-version" list="version-list" value="1.7.2" />
2130
<datalist id="version-list">

0 commit comments

Comments
 (0)