我正在使用Spigot(几乎是Bukkit)编写插件,但是我在从另一个类中访问HashMap时遇到了问题。这是我的HashMap和getter:
let C1 frequency 1 (list1)
let C2 frequency 2 (list1)
.
.
.
let C20 frequency 20 (list1)
我能够看到HashMap是否包含类中的某些键,例如:
private Map<String, Integer> compPlayers = new HashMap<String, Integer>();
public Map<String, Integer> getCompPlayers(){
return compPlayers;
}
然而在我的听众课上,我似乎无法正确访问它。这是我的监听器类中的一段代码:
if(args[0].equalsIgnoreCase("join")){
if(compPlayers.containsKey(p.getName())){
p.sendMessage(ChatColor.RED + "You are already part of the competition");
return false;
}
PluginMain是扩展JavaPlugin的类,getCommands()是其中Commands类的getter。
虽然我能够从侦听器类中无错误地访问所有这些方法,但是检查玩家名称是否在HashMap中的行不起作用并且总是返回false。事件本身确实有效。
答案 0 :(得分:1)
您永远不会在Listener
课程中注册活动。
在Listener
类的构造函数中,添加以下内容:
plugin.getServer().getPluginManager().registerEvents(this, plugin);