-5

我的java代码有一个小问题。错误是

令牌“;”上的语法错误,预期

这是我的代码:

package natchly.chest;

import natchly.chest.blocks.BlockStoneChest;
import net.minecraft.block.Block;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.event.FMLInitializationEvent;

@Mod(modid="chestsplus", name="Chests+", version="1.4.6_01")
@NetworkMod(clientSideRequired=true, serverSideRequired=false)
public class ModChests {

    public int idBlockStoneChest = 250;
    public static Block blockStoneChest; // <-------- Error here
    blockStoneChest = new BlockStoneChest(idBlockStoneChest).setBlockName("blockNAZWABLOKU").setHardness(1.5F).setResistance(5.0F);
    @Init
    public void init(FMLInitializationEvent e) {
        GameRegistry.registerBlock(blockStoneChest);
        LanguageRegistry.addName(blockStoneChest, "Stone Chest");
    }

}
4

2 回答 2

3

要么这样做:

public static Block blockStoneChest = new BlockStoneChest(idBlockStoneChest).setBlockName("blockNAZWABLOKU").setHardness(1.5F).setResistance(5.0F);

或这个:

public static Block blockStoneChest; <-------- Error here
static {
    blockStoneChest = new BlockStoneChest(idBlockStoneChest).setBlockName("blockNAZWABLOKU").setHardness(1.5F).setResistance(5.0F);
}
于 2013-01-05T19:54:53.130 回答
3

将这两行合并为一个声明和实例化步骤。除非在方法内部,否则 Java 不允许这样做。

public static BlockStoneChest blockStoneChest = new BlockStoneChest(idBlockStoneChest).setBlockName("blockNAZWABLOKU").setHardness(1.5F).setResistance(5.0F);
于 2013-01-05T19:55:10.293 回答