eclipse 中的三个语法错误
three Syntax errors in eclipse
我刚开始编码,现在正在学习教程。我按照教程中的确切步骤进行操作,并将任何变量更改为我使用的变量。 "Example: PutNAMEHERE to MyNAME"
这是教程:
http://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-7/proxies/
不过我遇到了三个语法错误。
这是给出错误的代码段:
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
proxy.postInit (e);
}
错误是:
*Multiple markers at this line
- Syntax error on token(s), misplaced construct(s)
- Syntax error, insert "enum Identifier" to complete
EnumHeader
- Syntax error on token "void", @ expected
在发布这个问题之前我做了一些研究。我认为可能有针对这些错误的一般修复方法,但对大多数人来说似乎有所不同。
编辑:
完整代码如下:
package com.loenabelle.ZAWAM;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION)
public class Main {
public static final String MODID = "ZAWAM";
public static final String MODNAME = "TZAWAM";
public static final String VERSION = "1.0.0";
@Instance
public static Main instance = new Main();
@EventHandler
public void preInit1(FMLPreInitializationEvent e) {
}
@EventHandler
public void init1(FMLInitializationEvent e) {
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
//added a 1 to all but one init//
}
}
@SidedProxy(clientSide="com.loenabelle.ZAWAM.ClientProxy", serverSide="com.loenabelle.ZAWAM.ServerProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
proxy.preInit(e);
}
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.init(e);
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
proxy.postInit (e);
//continue and try to fix this later
}
上面代码中的错误是出现在“@SidedProxy”之前的关闭大括号。到那时为止,所有内容都在 class Main
中。大括号结束 class。此右大括号之后的代码根本不在任何 class 中,这对于方法声明等是非法的。 Java 中的几乎所有内容都必须在 class.
中
Eclipse 进行基本匹配大括号——如果您将光标放在 class (Main {
) 的左大括号上,则 Eclipse 将突出显示结束 class 的大括号。 (这适用于所有匹配的括号组。)
我刚开始编码,现在正在学习教程。我按照教程中的确切步骤进行操作,并将任何变量更改为我使用的变量。 "Example: PutNAMEHERE to MyNAME"
这是教程: http://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-7/proxies/
不过我遇到了三个语法错误。
这是给出错误的代码段:
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
proxy.postInit (e);
}
错误是:
*Multiple markers at this line
- Syntax error on token(s), misplaced construct(s)
- Syntax error, insert "enum Identifier" to complete
EnumHeader
- Syntax error on token "void", @ expected
在发布这个问题之前我做了一些研究。我认为可能有针对这些错误的一般修复方法,但对大多数人来说似乎有所不同。
编辑:
完整代码如下:
package com.loenabelle.ZAWAM;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION)
public class Main {
public static final String MODID = "ZAWAM";
public static final String MODNAME = "TZAWAM";
public static final String VERSION = "1.0.0";
@Instance
public static Main instance = new Main();
@EventHandler
public void preInit1(FMLPreInitializationEvent e) {
}
@EventHandler
public void init1(FMLInitializationEvent e) {
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
//added a 1 to all but one init//
}
}
@SidedProxy(clientSide="com.loenabelle.ZAWAM.ClientProxy", serverSide="com.loenabelle.ZAWAM.ServerProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
proxy.preInit(e);
}
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.init(e);
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
proxy.postInit (e);
//continue and try to fix this later
}
上面代码中的错误是出现在“@SidedProxy”之前的关闭大括号。到那时为止,所有内容都在 class Main
中。大括号结束 class。此右大括号之后的代码根本不在任何 class 中,这对于方法声明等是非法的。 Java 中的几乎所有内容都必须在 class.
Eclipse 进行基本匹配大括号——如果您将光标放在 class (Main {
) 的左大括号上,则 Eclipse 将突出显示结束 class 的大括号。 (这适用于所有匹配的括号组。)