使用pIRCBot。
Class: pIRC.java
protected void onJoin(String channeljoined, String sender, String login, String hostname) {
Bukkit.getLogger().log(Level.INFO, "Channel joined: " + channeljoined + ". IRC channel: " + IRC.channel + "." );
if(channeljoined == IRC.channel)
{
Bukkit.getLogger().log(Level.INFO, "--");
for (Player player : Bukkit.getOnlinePlayers()) {
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&c[IRC]&e " + sender + "&f has joined the IRC channel."));
}
}
}
我的IRC课程有:
Class: IRC.java
public static String channel;
然后我将频道更改为从配置文件中获取的字符串:
Class: IRC.java
channel = this.getConfig().getString("publicchannel");
现在每当用户加入IRC频道时,它就会打印出来:
[11:03:53 INFO]: Channel joined: #MoMoMC. IRC channel: #MoMoMC.
但它不会进入下一个if语句。我做错了吗?
答案 0 :(得分:0)
您正在将String与==,始终使用.equals方法进行comare String比较。 String是一个类。该函数检查字符串的实际内容,==运算符检查对象的引用是否相等。 请改变这样的条件:
if(channeljoined.equals(IRC.channel))