SuperWithJava25

SuperWithJava25

SuperWithJava25是一个轻量级兼容核心模组,适用于Minecraft 1.7.10,它允许Fisk's Superheroes在使用LWJGL3ify时在现代Java版本(Java 21到Java 25+)上运行。

性能

 

SuperWithJava25

MC 1.7.10 // JAVA 21+ 修复

让 Fisk 的模组在现代 Java 上真正启动,这样我就能玩了

 

简而言之:它为什么崩溃

Fisk 的模组为英雄 JS 资源包调用 jdk.nashorn。Oracle 在 Java 15 中删除了 Nashorn。https://openjdk.org/jeps/372 然后游戏就炸了:

Caused by: java.lang.ClassNotFoundException: Class bytes are null for jdk.nashorn.api.scripting.NashornScriptEngineFactory

我没有重写 Fisk 的模组,而是做了什么

  • 将独立的 org.openjdk.nashorn:nashorn-core 打包进 jar 中
  • 编写了一个懒加载的 ASM 转换器,在启动时捕获 com.fiskmods.heroes.*
  • 将所有字符串/类型引用从 jdk.nashorn 替换为 org.openjdk.nashorn(在内存中),这样它就能直接运行了

优化相关

如果你想优化 Minecraft 1.7.10,可以看看这个指南: Minecraft 1.7.10 优化指南

要求之类的

1.7.10 / Forge 1614+ / Java 21-25(LWJGL3ify)/ Fisk 的超级英雄模组 2.4.0+

客户端和服务端都适用(只需把它放到 /mods 里)。

安装

  1. 将 jar 文件放入 mods/
  2. 启动游戏
  3. 搞定

 

为什么会有这个东西

当时正在重写高级光剑的生成结构,被搞烦了,花了大概 20 分钟做了这个来拖延时间。之后可能还会重写 transformers 模组。也许吧。


// ≈ “在我机器上能跑。”