我有一个在自定义 Minecraft 启动器中使用的内存类加载器(此处)。
每当我加载 Minecraft(一个 Java LWJGL 游戏)时,我都会收到以下错误:
27 achievements
182 recipes
Setting user
LWJGL Version: 2.4.2
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at lc.<init>(SourceFile:21)
at gi.<init>(SourceFile:10)
at net.minecraft.client.Minecraft.a(SourceFile:254)
at net.minecraft.client.Minecraft.run(SourceFile:657)
at java.lang.Thread.run(Unknown Source)
我正在创建这样的类加载器:
Base.cLoader = new CLoader(
GameUpdater.classLoader,
new JarInputStream(new ByteArrayInputStream(jarFileBytes)));
如您所见,它设法加载第一部分,然后在 LWJGL 版本之后突然崩溃,并出现“input == null”。
编辑 - 这是新的 getResource 方法。
错误出现在“URL()”上,如图所示。
代码:
public URL getResource(final String name) {
URL url = new URL() { public InputStream openStream() {
return new ByteArrayInputStream((byte[])others.get(name));
}};
return url;
}