Java 玩家加入事件和玩家登录事件不工作(minecraft bukkit编码)
好的,因为我更新了Java8,所以我的代码中没有任何东西可以正常工作,只有控制台日志和一些命令。有一件事我用文字它,并找到解决方案,只是一个基本的球员加入消息。据我所知,该代码没有任何错误:Java 玩家加入事件和玩家登录事件不工作(minecraft bukkit编码),java,bukkit,Java,Bukkit,好的,因为我更新了Java8,所以我的代码中没有任何东西可以正常工作,只有控制台日志和一些命令。有一件事我用文字它,并找到解决方案,只是一个基本的球员加入消息。据我所知,该代码没有任何错误: package core.global.idv1.stats; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukki
package core.global.idv1.stats;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.java.JavaPlugin;
public final class CoreStats extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getLogger().info("[CoreStats] Has been enabled!");
}
@Override
public void onDisable() {
getLogger().info("[CoreStats] Has been disabled!");
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("sendme")){
player.sendMessage(ChatColor.GOLD + "Sent");
}
return false;
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e){
Player p = e.getPlayer();
p.sendMessage(ChatColor.RED + "Welcome to the server");
}
}
我试过PlayerJoinEvent和PlayerLoginEvent。
我已经试着修复这件事3天了,所以任何帮助都会很棒。
谢谢您需要先注册您的
听众
:
@Override
public void onEnable() {
Bukkit.getServer().getPluginManager().registerListeners(this, this);
getLogger().info("[CoreStats] Has been enabled!");
}
有关更多信息,请查看。我不熟悉Bukkit,但至少对于Forge,您必须使用事件总线注册该类,以便“拾取”事件处理程序。Bukkit是否有类似的要求(如果有,您是否已注册)?这就是我在使用Forge
MinecraftForge.EVENT_BUS.register(newhandler())的主mod文件中的意思代码>我对java编码和bukkit编码相当陌生,所以我真的不知道这意味着什么,lol,但我在一周前用了一大块代码和一堆其他的事件处理程序,它们工作得很好。但后来我将java更新为java re 8或其他什么东西,它停止了工作。另外,这不是一个mod,而是一个Craftbukkit服务器插件。输入它很简单,我的意思是:主mod文件注册(你必须注册)包含事件处理程序的其他文件,这样当触发事件时,你的自定义代码就会被执行。如果不通过“注册”这些其他文件,游戏就不会“知道”使用您的代码而不是普通代码。