此方法需要正文而不是分号

时间:2014-08-02 20:15:18

标签: java

选中的行“< ------- These”给出一个错误:这个方法需要一个正文而不是一个分号

两个文件必须一起工作。 如何解决它我需要快速帮助。有没有人有任何想法但我不知道?

package API.Info;

import Mains.MiniEvents;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;

import java.util.HashMap;

public class ApiInfo {
    public static MiniEvents plugin;

    public ApiInfo(MiniEvents plugin) {
        ApiInfo.plugin = plugin;
    }

    /**
     * @return number of players in the event.
     */
    public int eventSize() {
        return plugin.getInfo().eventSize();
    }

    /**
     * @return "code" name of the current event running; else, "none"
     * It will return one of the following:
     * horse, koth, oitc, paint, tdm, ko, lms, parkour, spleef, tnt
     */
    public String getEventName() {
        return plugin.getInfo().getEventName();
    }

    /**
     * @return TRUE if an event is starting (counting down).
     */
    public boolean eventStarting(){
        return plugin.getInfo().eventStarting();
    }

    /**
     * @return TRUE if an event has started.
     */
    public boolean eventStarted();     <------- These

    /**
     * @param player - Player to check.
     * @return TRUE if a player is currently playing in an event.
     */
    public boolean inEvent(Player player);     <------- These

    /**
     * @return the "formal" name of an event that is running.
     * param eventName - the event for which to return the formal name for.
     */
    public String eventFormalEventName(String eventName);     <------- These

    /**
     * @return time left until the event starts
     */
    public int getTimeLeft();     <------- These

    /**
     * @param player - Gets that player's file.
     * @return the FileConfiguration where individual player data is stored.
     */
    public FileConfiguration getPlayerFile(Player player);     <------- These

    /**
     * The is a big "inevent" HashSet<Player> that contains a player no matter what event
     * that player is in.
     *
     * @return the "inevent" HashSet.
     */
    public HashMap<String, String> getPlayersInEvent();     <------- These

    /**
     * @return true if a player is currently in spectate mode.
     */
    public boolean inSpectateMode(Player player);     <------- These

}



File Info.jar 
package Util.Methods;

import API.Info.ApiInfo;
import Mains.MiniEvents;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.Scoreboard;

import java.util.HashMap;
import java.util.HashSet;

public class Info extends ApiInfo{
    public MiniEvents plugin;


    public Info(MiniEvents plugin) {
        super(plugin);
        this.plugin = plugin;
    }
    public boolean eventstarting = false;
    public boolean eventstarted = false;
    public boolean cancelled = false;
    public final HashSet<String> sbefore = new HashSet<>();
    public final HashSet<String> sblue = new HashSet<>();
    public final HashSet<String> sred = new HashSet<>();
    public final HashSet<String> sfire = new HashSet<>();
    public final HashMap<String, String> inevent = new HashMap<>();
    public final HashMap<String, Scoreboard> scoreboard = new HashMap<>();

    public int eventSize(){
        return inevent.size();
    }
    public String getEventName(){
        return plugin.getEventName();

    }
    public boolean eventStarting(){
        return eventstarting;
    }
    public boolean eventStarted(){
        return eventstarted;
    }
    public boolean inEvent(Player player){
        return inevent.containsKey(player.getName());
    }
    public String eventFormalEventName(String s){
        return plugin.getFormalName(s);
    }
    public int getTimeLeft(){
        return plugin.getTimerMain().getTimeLeft();
    }
    public FileConfiguration getPlayerFile(Player player){
        return plugin.playerFile(player.getName().toLowerCase());
    }
    public HashMap<String, String> getPlayersInEvent(){
        return inevent;
    }
    public boolean inSpectateMode(Player player){
        return plugin.getSpectateMode().inspec.contains(player.getName());
    }
}

1 个答案:

答案 0 :(得分:1)

您正在尝试定义方法而不定义它。方法(当不是抽象或在接口中声明时)总是需要方法头(void method())和主体({ ... })。在您标记的行中,您只定义头部而不是主体。

如果您希望声明此方法而不立即定义正文,则需要将它们抽象化。