0

我正在尝试在 Bukkit 插件中使用 MinecraftForge 方法。

到目前为止,这是我的代码:

NetworkManager ic2 = new ic2.core.IC2().network;
DimensionManager dmm = new net.minecraftforge.common.DimensionManager();
T worlds = dmm.getWorlds(); // What Data Type?

问题是该getWorlds()方法似乎是in[]eclipse 无法识别的数据类型,所以现在我被卡住了,因为我不知道让世界变量的数据类型。

这是getWorlds()我正在使用的 Forge 版本中的方法

public static in[] getWorlds() {
     return (in[]) worlds.values().toArray(new in[worlds.size()]);
}

做了一些进一步的挖掘,并在我使用的 forge 版本中找到了这个。

import in;

然后in在类列表中有一个“”类;但它没有出现在eclipse的列表中;它和我反编译的jar是同一个jar。

4

1 回答 1

2

getWorldsForge 库中的 之所以返回in[],是因为 Mojang 的混淆。Forge 不能修改对 to 的每一个引用inWorldServer因为那太复杂了。

因为 Minecraft 中使用的大多数类都是默认包的一部分,所以它们不能直接导入。

Mods 能够克服这个限制,因为它们使用了一个特殊的模块,该模块将输出字节码中的引用转换为引用混淆的类。

您需要使用 Forge 编译器针对 Bukkit 编译您的代码。

于 2014-02-04T05:35:38.497 回答