allow asset aliases, throw FileNotFoundException if asset not found (jar asset)

This commit is contained in:
Bixilon 2020-11-23 17:30:07 +01:00
parent 46671aa1bf
commit dcea6626a3
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 16 additions and 2 deletions

View File

@ -71,6 +71,13 @@ public class AssetsManager {
return ret;
}
private static void initAssetsAliases(JsonObject json) {
for (String key : json.keySet()) {
String value = json.get(key).getAsString();
assets.put(key, assets.get(value));
}
}
public static void downloadAllAssets(CountUpAndDownLatch latch) throws IOException {
if (assets.size() > 0) {
return;
@ -83,6 +90,8 @@ public class AssetsManager {
}
assets.putAll(verifyAssets(AssetsSource.MOJANG, latch, parseAssetsIndex(ASSETS_INDEX_HASH)));
assets.putAll(verifyAssets(AssetsSource.MINOSOFT_GIT, latch, parseAssetsIndex(Util.readJsonAsset("mapping/resources.json"))));
// aliases
initAssetsAliases(Util.readJsonAsset("mapping/assetsAliases.json"));
latch.addCount(1); // client jar
// download assets
generateJarAssets();

View File

@ -203,8 +203,13 @@ public final class Util {
return json;
}
public static InputStreamReader readAsset(String path, Class<?> clazz) {
return new InputStreamReader(clazz.getResourceAsStream("/assets/" + path));
public static InputStreamReader readAsset(String path, Class<?> clazz) throws FileNotFoundException {
path = "/assets/" + path;
InputStream stream = clazz.getResourceAsStream(path);
if (stream == null) {
throw new FileNotFoundException(String.format("Could not load asset %s", path));
}
return new InputStreamReader(stream);
}
public static JsonObject readJsonFromZip(String fileName, ZipFile zipFile) throws IOException {