AssetsManager: download by asset identifier, fix re-downloading of assets index

This commit is contained in:
Bixilon 2021-02-09 20:56:00 +01:00
parent c706ee7d36
commit 9a1c4aace2
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -20,6 +20,7 @@ import com.google.gson.JsonParser;
import de.bixilon.minosoft.Minosoft; import de.bixilon.minosoft.Minosoft;
import de.bixilon.minosoft.config.ConfigurationPaths; import de.bixilon.minosoft.config.ConfigurationPaths;
import de.bixilon.minosoft.config.StaticConfiguration; import de.bixilon.minosoft.config.StaticConfiguration;
import de.bixilon.minosoft.data.mappings.ModIdentifier;
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition; import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition;
import de.bixilon.minosoft.util.CountUpAndDownLatch; import de.bixilon.minosoft.util.CountUpAndDownLatch;
import de.bixilon.minosoft.util.Util; import de.bixilon.minosoft.util.Util;
@ -207,7 +208,7 @@ public class AssetsManager {
return; return;
} }
// download minecraft assets // download minecraft assets
if (!doesAssetExist(this.assetVersion.getIndexHash())) { if (!verifyAssetHash(this.assetVersion.getIndexHash())) {
downloadAssetsIndex(); downloadAssetsIndex();
} }
this.assetsMap.putAll(verifyAssets(AssetsSource.MOJANG, latch, parseAssetsIndex(this.assetVersion.getIndexHash()))); this.assetsMap.putAll(verifyAssets(AssetsSource.MOJANG, latch, parseAssetsIndex(this.assetVersion.getIndexHash())));
@ -318,6 +319,10 @@ public class AssetsManager {
return readAssetAsStreamByHash(hash); return readAssetAsStreamByHash(hash);
} }
public InputStream readAssetAsStream(ModIdentifier identifier) throws IOException {
return readAssetAsStream(identifier.getMod() + "/" + identifier.getIdentifier());
}
public JsonElement readJsonAsset(String name) throws IOException { public JsonElement readJsonAsset(String name) throws IOException {
return readJsonAssetByHash(this.assetsMap.get(name)); return readJsonAssetByHash(this.assetsMap.get(name));
} }