用Delphi安装Minecraft版本

时间:2011-11-02 15:29:23

标签: java version minecraft

是否可以使用Delphi安装Minecraft版本?
有趣的是我需要阅读 %appdata%\.minecraft\bin\minecraft.jar版本。
但没有META-INF\MANIFEST.MF阅读。

3 个答案:

答案 0 :(得分:4)

除非在Manifest文件中指定,否则Java程序没有版本。

也许开发人员将版本号保留在一些自述文本文件或JAR文件中的其他资源中,如您所知,这只是一个ZIP存档。

如果这些都不起作用,另一种方法是根据文件大小构建一个Minefield版本目录。使用System FileSize()函数获取JAR文件的文件大小,并在目录中查找。

根据具体情况,如果在目录中找不到文件大小,您可能会认为它比您编目的最新版本更新。

甚至比依靠目录的文件大小更好的是生成哈希。甚至CRC32就足够了。

答案 1 :(得分:2)

我相信JAR files实际上只是ZIP文件,我听说最近版本的Delphi有一个单元,可以使用工具来访问Zip文件。我不熟悉JAR文件的内部结构,但如果你是,并且你正在寻找的版本信息存在于某处,你应该能够以这种方式提取它。

答案 2 :(得分:2)

是的,有可能。您可以使用mojang提供的this xml data

例如:

<Contents>
<Key>11w47a/minecraft.jar</Key>
<LastModified>2011-11-24T13:20:06.000Z</LastModified>
<ETag>"2ad75c809570663ec561ca707983a45b"</ETag>
<Size>2242242</Size>
<Owner>...</Owner>
<StorageClass>STANDARD</StorageClass>
</Contents>

如您所见,它们在<Key>标记中提供版本和文件名。二进制的md5总和存储在<ETag>标记中。只要你没有修改你的jar,这应该足以检查版本。