Skip to content

Commit

Permalink
fix: wrong manifest used for gen1 projects
Browse files Browse the repository at this point in the history
  • Loading branch information
SpaceWalkerRS committed Jan 28, 2025
1 parent a5c38b2 commit f4dbfe2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
7 changes: 6 additions & 1 deletion src/main/java/net/ornithemc/ploceus/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ public class Constants {
public static final String SERVER_NESTS_CONFIGURATION = "serverNests";

public static final String VERSION_MANIFEST_PROPERTY = "loom_version_manifests";
public static final String VERSIONS_MANIFEST_URL = "https://ornithemc.net/mc-versions/version_manifest.json";
public static final String VERSIONS_MANIFEST_URL_GEN1 = "https://skyrising.github.io/mc-versions/version_manifest.json";
public static final String VERSIONS_MANIFEST_URL_GEN2 = "https://ornithemc.net/mc-versions/version_manifest.json";

public static String versionsManifestUrl(int generation) {
return generation == 1 ? VERSIONS_MANIFEST_URL_GEN1 : VERSIONS_MANIFEST_URL_GEN2;
}

public static final String CALAMUS_INTERMEDIARY_MAVEN_GROUP = MAVEN_GROUP;
public static String calamusGen1Mappings(GameSide side) {
Expand Down
19 changes: 12 additions & 7 deletions src/main/java/net/ornithemc/ploceus/PloceusGradleExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ public static PloceusGradleExtension get(Project project) {
private final Property<GameSide> side; // gen 1
private final Property<Integer> generation; // gen 2+

private int nextManifestPriority = -10;

public PloceusGradleExtension(Project project) {
this.project = project;
this.loom = LoomGradleExtension.get(this.project);
Expand Down Expand Up @@ -134,7 +136,6 @@ private void apply() {
project.getConfigurations().register(Constants.CLIENT_NESTS_CONFIGURATION);
project.getConfigurations().register(Constants.SERVER_NESTS_CONFIGURATION);

loom.getVersionsManifests().add(Constants.VERSIONS_MANIFEST_URL, -10);
loom.addMinecraftJarProcessor(ExceptionPatcherProcessor.class, this);
loom.addMinecraftJarProcessor(SignaturePatcherProcessor.class, this);
loom.addMinecraftJarProcessor(NesterProcessor.class, this);
Expand All @@ -161,7 +162,7 @@ private void apply() {
}
});

calamusGen1Provider();
switchToGen1();
}

public ExceptionsProvider getExceptionsProvider() {
Expand Down Expand Up @@ -373,7 +374,7 @@ public void serverOnlyMappings() {
side.set(GameSide.SERVER);
}

private void calamusGen1Provider() {
private void switchToGen1() {
loom.setIntermediateMappingsProvider(CalamusGen1Provider.class, provider -> {
provider.getSide()
.convention(side)
Expand All @@ -383,9 +384,11 @@ private void calamusGen1Provider() {
.finalizeValueOnRead();
provider.getRefreshDeps().set(project.provider(() -> LoomGradleExtension.get(project).refreshDeps()));
});

loom.getVersionsManifests().add(Constants.VERSIONS_MANIFEST_URL_GEN1, nextManifestPriority--);
}

private void calamusGen2Provider() {
private void switchToGen2() {
loom.setIntermediateMappingsProvider(CalamusGen2Provider.class, provider -> {
provider.getGeneration()
.convention(generation)
Expand All @@ -395,6 +398,8 @@ private void calamusGen2Provider() {
.finalizeValueOnRead();
provider.getRefreshDeps().set(project.provider(() -> LoomGradleExtension.get(project).refreshDeps()));
});

loom.getVersionsManifests().add(Constants.VERSIONS_MANIFEST_URL_GEN2, nextManifestPriority--);
}

public Property<GameSide> getSide() {
Expand All @@ -410,9 +415,9 @@ public void setGeneration(int generation) {
this.generation.set(generation);

if (generation == 1) {
calamusGen1Provider();
switchToGen1();
} else {
calamusGen2Provider();
switchToGen2();
}
}

Expand All @@ -425,7 +430,7 @@ public String normalizedMinecraftVersion() {

String versionId = minecraftVersion();

String manifestUrl = Constants.VERSIONS_MANIFEST_URL;
String manifestUrl = Constants.versionsManifestUrl(generation.get());
String manifestHash = Integer.toHexString(manifestUrl.hashCode());

Path userCache = loom.getFiles().getUserCache().toPath();
Expand Down

0 comments on commit f4dbfe2

Please sign in to comment.