对于类型Signs,方法getConfig()未定义

时间:2015-05-31 23:41:43

标签: java minecraft bukkit

当我尝试让配置测试它是否等于null时,我收到错误说

  

对于类型Signs

,方法getConfig()未定义

我的其他班级没有错误,我也不知道问题所在。这是我目前的代码:

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;  //Bundle, Menu and MenuItem are underlined an indication of error

import com.android.volley.*; //volley imports shows correctly


public class MainActivity extends ActionBarActivity {

    RequestQueue queue;
    Request request;

1 个答案:

答案 0 :(得分:3)

getConfig()是由JavaPlugin实施的方法。要使用它,您必须拥有一个类extends JavaPlugin的实例(此类通常称为Main)。

Main类中,您可以添加一个包含配置文件的静态变量,并初始化onEnable()

public class Main extends JavaPlugin{

    public static FileConfiguration config;

    @Override
    public void onEnable(){
        config = getConfig();

        //other code in your onEnable()
    }
}

然后,您可以在Main.config类之外的任何地方使用变量Main,以便使用插件的配置文件

public class Signs implements Listener {

    @EventHandler
    public void onSignChange(SignChangeEvent e){
        //your code
        if(Main.config.getStringList(name) == null){
            //...
        }
    }
}

此外,请确保在config中将null变量设置为onDisable(),以防止在重新加载服务器时可能发生内存泄漏

public class Main extends JavaPlugin{

    public static FileConfiguration config;

    @Override
    public void onDisable(){
        config = null;

        //other code in your onDisable()
    }
}