Три синтаксические ошибки в затмении
Я только начал писать код и сейчас следую учебному пособию. Я выполнил точные шаги в учебнике и изменил любую переменную на ту, которую использовал. "Пример: Поместите ИМЯНЕ в 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
}
1 ответ
Ошибка в приведенном выше коде - закрывающая фигурная скобка, которая встречается перед "@SidedProxy". До этого момента все внутри класса Main
, Эта фигурная скобка заканчивает класс. Код после этой закрывающей скобки вообще отсутствует в каком-либо классе, что недопустимо для объявлений методов и тому подобного. Почти все в Java должно быть внутри класса.
Eclipse выполняет базовые фигурные скобки - если вы поместите курсор на открывающую фигурную скобку класса (Main {
) затем Eclipse выделит фигурную скобку, которая завершает класс. (Это относится ко всем наборам соответствующих фигурных скобок.)