-1
我正在为Bukkit创建一个插件。但我需要将PlayerName存储在列表中,现在我正在使用ArrayList,但它似乎不能保存它们?arrayList不保存名称?
这里是我的代码:
public class Menu implements Listener {
private static Menu instance = new Menu();
public static Menu getInstance() {
return instance;
}
ArrayList<String> inMenu = new ArrayList<String>();
public void menuAdd(Player p) {
if(inMenu.contains(p.getName())) {return;}
inMenu.add(p.getName());
[1]p.sendMessage(inMenu.toString());
}
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent e) {
[2]e.getPlayer().sendMessage(inMenu.toString());
if(inMenu.contains(e.getPlayer().getName())) {
if(e.getMessage().contains("appel")) {
inMenu.remove(e.getPlayer().getName());
}
return;
} else{
e.getPlayer().sendMessage("Not in list");
}
}
在[1]它调试的playerName是ArrayList中,但是当我在[2]没有调试它是在列表中?
主营:
public class Main extends JavaPlugin implements Listener {
private static Main instance;
private static Plugin plugin;
@Override
public void onEnable() {
PluginManager pm = getServer().getPluginManager();
pm.registerEvents(this, this);
if(getServer().getPluginManager().getPlugin("Citizens") == null || getServer().getPluginManager().getPlugin("Citizens").isEnabled() == false) {
System.out.print("Citizens 2.0 not found or not enabled");
getServer().getPluginManager().disablePlugin(this);
return;
}
net.citizensnpcs.api.CitizensAPI.getTraitFactory().registerTrait(net.citizensnpcs.api.trait.TraitInfo.create(HorecaTrait.class).withName("Horeca"));
instance = this;
plugin = this;
registerEvents(this, new Menu(), new HorecaTrait());
}
向我们展示您在其中实例化菜单的代码? – 2014-09-27 08:43:55
@Petar添加了主类 – user3375403 2014-09-27 09:05:18
告诉我们更多的信息? menuAdd方法的调用在哪里? – 2014-09-27 10:37:31