fix jar asset generation

This commit is contained in:
Bixilon 2021-04-06 23:58:16 +02:00
parent 804a49f319
commit e72aab9f74
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -77,17 +77,18 @@ class MinecraftAssetsManager(
return this.assetVersion.jarAssetsHash return this.assetVersion.jarAssetsHash
} }
// download jar // download jar
downloadAsset(String.format(ProtocolDefinition.MOJANG_LAUNCHER_URL_PACKAGES, this.assetVersion.clientJarHash, "client.jar"), this.assetVersion.clientJarHash!!, false) downloadAsset(String.format(ProtocolDefinition.MOJANG_LAUNCHER_URL_PACKAGES, this.assetVersion.clientJarHash, "client.jar"), this.assetVersion.clientJarHash!!, true)
val clientJarAssetsHashMap = HashMap<String, String>() val clientJarAssetsHashMap = HashMap<String, String>()
val versionJar = ZipInputStream(readAssetAsStream(this.assetVersion.clientJarHash)) val versionJar = ZipInputStream(readAssetAsStream(this.assetVersion.clientJarHash))
var currentFile: ZipEntry var nextZipEntry: ZipEntry?
while (versionJar.nextEntry.also { currentFile = it } != null) { while (versionJar.nextEntry.also { nextZipEntry = it } != null) {
if (!currentFile.name.startsWith("assets") || currentFile.isDirectory) { val currentZipEntry = nextZipEntry!!
if (!currentZipEntry.name.startsWith("assets") || currentZipEntry.isDirectory) {
continue continue
} }
var relevant = false var relevant = false
for (prefix in ProtocolDefinition.RELEVANT_MINECRAFT_ASSETS) { for (prefix in ProtocolDefinition.RELEVANT_MINECRAFT_ASSETS) {
if (currentFile.name.startsWith("assets/$prefix")) { if (currentZipEntry.name.startsWith("assets/$prefix")) {
relevant = true relevant = true
break break
} }
@ -96,7 +97,7 @@ class MinecraftAssetsManager(
continue continue
} }
val hash: String = saveAsset(versionJar) val hash: String = saveAsset(versionJar)
clientJarAssetsHashMap[currentFile.name.substring("assets/".length)] = hash clientJarAssetsHashMap[currentZipEntry.name.substring("assets/".length)] = hash
} }
val clientJarAssetsMapping = JsonObject() val clientJarAssetsMapping = JsonObject()
for ((path, hash) in clientJarAssetsHashMap) { for ((path, hash) in clientJarAssetsHashMap) {