Error in minecraft mod: java.lang.NoSuchFieldError: rock



我在Idea中编译并使用MC 1.7.10的mod,没有问题。将我的mod放入项目后:;"暗物质";在AltLauncher中,它说错误java.lang.NoSuchFieldError: rock

在块类中,我编写了这个构造函数

public MyModBlock() {
super(Material.rock);
setBlockName(blockName);
setCreativeTab(CreativeTabs.tabBlock);
GameRegistry.registerBlock(this, blockName);
GameRegistry.registerTileEntity(MyModTile.class, mymod.MODID + "-MyModTile");
}

我认为类CCD_ 2在我的开发环境中有不同的版本;"暗物质";并希望尝试读取类字段的变体,并在枚举中选择一些。

问题:我可以枚举类fileld 吗

package net.minecraft.block.material;
public class Material {
public static final Material air;
public static final Material grass;
public static final Material ground;
public static final Material wood;
public static final Material rock;
public static final Material iron;
public static final Material anvil;
public static final Material water;
public static final Material lava;
public static final Material leaves;
...

类似的东西:

foreach (Material m in Material){
if (m.name == 'rock' or m.name == 'stone' ) { myBlock = new MyModBlock(m) }
}

编译Minecraft mod时,您可以通过执行./gradlew jar来制作具有模糊MCP名称的版本,也可以通过执行./gradlew build来制作具有混淆SRG名称的版本。前者仅在开发环境内部工作,而后者仅在开发外部工作。你得到的错误与试图在开发环境之外运行一个去激励的构建是一致的。

相关内容

最新更新