Minecraft Decompile 1.15.1失败[关闭]

问题描述 投票:-1回答:1

Minecraft 1.15.1提供了模糊的映射文件,并允许玩家合法地反编译Minecraft。因此,我决定创建自己的Minecraft客户。

首先,我从这些官方链接下载了client.jar和client.txt(映射文件)。

https://launcher.mojang.com/v1/objects/8b11614bea9293592a947ea8f4fd72981ea66677/client.jarhttps://launcher.mojang.com/v1/objects/cc77cb804c2cc0fa151b0745df4c5de8e64d1bb5/client.txt

之后,我下载了反混淆程序。https://github.com/LXGaming/Reconstruct

然后,我使用FernFlower反编译整个字节码并下载了Minecraft所需的所有库。

screen

首先,看来反编译效果很好。实际上,某些类没有错误。

error

但是我意识到大多数类都具有类似这样的荒谬语法错误。出了什么问题?

java minecraft decompiling
1个回答
0
投票

在您的情况下,这不是错误。这只是反编译的构造函数调用的外观。

根据official docs

在Java虚拟机级别,每个构造函数Java编程语言(JLS§8.8)中的示例具有特殊名称<init>的初始化方法。这个名字是由编译器提供。因为名称<init>是无效的标识符,不能直接在以Java编程语言。实例初始化方法可能是仅由invokespecial在Java虚拟机内调用指令(§invokespecial),并且只能在未初始化的类实例。实例初始化方法需要对其构造函数的访问权限(JLS§6.6)派生。

关于创建Minecraft启动器,我建议阅读this question

您还可以忽略<init>调用并在所需的代码中进行更改。然后,您将重新编译代码。为了正确进行重新编译,请阅读this question

© www.soinside.com 2019 - 2024. All rights reserved.