mirror of
https://github.com/SKCraft/Launcher.git
synced 2025-01-08 19:38:58 +01:00
Fix library handling bug in cases of bad JSON key ordering
This commit is contained in:
parent
9aced19edc
commit
40fcfdf992
@ -190,7 +190,9 @@ public class Library {
|
|||||||
Artifact virtualArtifact = new Artifact();
|
Artifact virtualArtifact = new Artifact();
|
||||||
|
|
||||||
virtualArtifact.setUrl(url);
|
virtualArtifact.setUrl(url);
|
||||||
virtualArtifact.setPath(mavenNameToPath(name));
|
if (getName() != null) {
|
||||||
|
virtualArtifact.setPath(mavenNameToPath(getName()));
|
||||||
|
}
|
||||||
|
|
||||||
Downloads downloads = new Downloads();
|
Downloads downloads = new Downloads();
|
||||||
downloads.setArtifact(virtualArtifact);
|
downloads.setArtifact(virtualArtifact);
|
||||||
@ -198,13 +200,28 @@ public class Library {
|
|||||||
setDownloads(downloads);
|
setDownloads(downloads);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
|
||||||
|
// [DEEP SIGH]
|
||||||
|
// Sometimes 'name' comes after 'url', and I can't figure out how to get Jackson to enforce order
|
||||||
|
// So we have to do this silly check to make sure we have a path.
|
||||||
|
if (getDownloads() != null) {
|
||||||
|
if (getDownloads().getArtifact() == null) return;
|
||||||
|
|
||||||
|
if (getDownloads().getArtifact().getPath() == null) {
|
||||||
|
getDownloads().getArtifact().setPath(mavenNameToPath(name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BACKWARDS COMPATIBILITY:
|
* BACKWARDS COMPATIBILITY:
|
||||||
* Some old Forge distributions use a parameter called "serverreq" to indicate that the dependency should
|
* Some old Forge distributions use a parameter called "serverreq" to indicate that the dependency should
|
||||||
* be fetched from the Minecraft library source; this setter handles that.
|
* be fetched from the Minecraft library source; this setter handles that.
|
||||||
*/
|
*/
|
||||||
public void setServerreq(boolean value) {
|
public void setServerreq(boolean value) {
|
||||||
if (value) {
|
if (value && getDownloads() == null) {
|
||||||
setUrl("https://libraries.minecraft.net/"); // TODO get this from properties?
|
setUrl("https://libraries.minecraft.net/"); // TODO get this from properties?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user