我正在尝试使用Bukkit插件中的MinecraftForge方法。
到目前为止,这是我的代码:
NetworkManager ic2 = new ic2.core.IC2().network;
DimensionManager dmm = new net.minecraftforge.common.DimensionManager();
T worlds = dmm.getWorlds(); // What Data Type?
问题是getWorlds()
方法似乎是eclipse无法识别的in[]
数据类型,所以现在我被卡住了因为我不知道是什么数据类型才能使世界变量
这是我正在使用的Forge版本中的getWorlds()
方法
public static in[] getWorlds() {
return (in[]) worlds.values().toArray(new in[worlds.size()]);
}
进一步挖掘并在我正在使用的伪造版本中找到了它。
import in;
然后在类列表中有一个“in
”类;但它没有出现在eclipse的列表中;它和我反编译的那个罐子一样。
答案 0 :(得分:2)
Forge库中getWorlds
返回in[]
的原因是因为Mojang的混淆。 Forge无法修改in
到WorldServer
的每一个引用,因为这太复杂了。
由于Minecraft中使用的大多数类都是默认包的一部分,因此无法直接导入它们。
Mods能够超越这个限制因为它们使用了一个特殊的模块来转换输出字节码中的引用来引用混淆的类。
您需要使用Forge编译器针对Bukkit编译代码。