diff --git a/src/main/java/com/skcraft/launcher/AssetsRoot.java b/src/main/java/com/skcraft/launcher/AssetsRoot.java index 5bd2da9..4e34ac1 100644 --- a/src/main/java/com/skcraft/launcher/AssetsRoot.java +++ b/src/main/java/com/skcraft/launcher/AssetsRoot.java @@ -9,6 +9,7 @@ import com.google.common.io.Files; import com.skcraft.launcher.model.minecraft.Asset; import com.skcraft.launcher.model.minecraft.AssetsIndex; +import com.skcraft.launcher.model.minecraft.VersionManifest; import com.skcraft.launcher.persistence.Persistence; import lombok.Getter; import lombok.extern.java.Log; @@ -28,8 +29,8 @@ this.dir = dir; } - public File getIndexPath(String indexId) { - return new File(dir, "indexes/" + indexId + ".json"); + public File getIndexPath(VersionManifest versionManifest) { + return new File(dir, "indexes/" + versionManifest.getAssetsIndex() + ".json"); } public File getObjectPath(Asset asset) { @@ -37,10 +38,12 @@ return new File(dir, "objects/" + hash.substring(0, 2) + "/" + hash); } - public File buildAssetTree(String indexId) throws IOException { - log.info("Building asset virtual tree for '" + indexId + "'"); + public File buildAssetTree(VersionManifest versionManifest) throws IOException { + String indexId = versionManifest.getAssetsIndex(); - AssetsIndex index = Persistence.read(getIndexPath(indexId), AssetsIndex.class); + log.info("Building asset virtual tree for '" + versionManifest + "'"); + + AssetsIndex index = Persistence.read(getIndexPath(versionManifest), AssetsIndex.class); File treeDir = new File(dir, "virtual/" + indexId); treeDir.mkdirs(); diff --git a/src/main/java/com/skcraft/launcher/launch/InstanceLauncher.java b/src/main/java/com/skcraft/launcher/launch/InstanceLauncher.java index 845ee3f..d3670e9 100644 --- a/src/main/java/com/skcraft/launcher/launch/InstanceLauncher.java +++ b/src/main/java/com/skcraft/launcher/launch/InstanceLauncher.java @@ -95,10 +95,10 @@ // Load versionManifest and assets index versionManifest = mapper.readValue(instance.getVersionManifestPath(), VersionManifest.class); - assetsIndex = mapper.readValue(assetsRoot.getIndexPath(versionManifest.getId()), AssetsIndex.class); + assetsIndex = mapper.readValue(assetsRoot.getIndexPath(versionManifest), AssetsIndex.class); // Copy over assets to the tree - virtualAssetsDir = assetsRoot.buildAssetTree(versionManifest.getAssetsIndex()); + virtualAssetsDir = assetsRoot.buildAssetTree(versionManifest); addJvmArgs(); addLibraries(); diff --git a/src/main/java/com/skcraft/launcher/update/GameUpdater.java b/src/main/java/com/skcraft/launcher/update/GameUpdater.java index a4dc193..eb76424 100644 --- a/src/main/java/com/skcraft/launcher/update/GameUpdater.java +++ b/src/main/java/com/skcraft/launcher/update/GameUpdater.java @@ -86,7 +86,7 @@ .execute() .expectResponseCode(200) .returnContent() - .saveContent(assetsRoot.getIndexPath(versionManifest.getAssetsIndex())) + .saveContent(assetsRoot.getIndexPath(versionManifest)) .asJson(AssetsIndex.class); for (Map.Entry entry : index.getObjects().entrySet()) {