Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 玩家加入事件和玩家登录事件不工作(minecraft bukkit编码)_Java_Bukkit - Fatal编程技术网

Java 玩家加入事件和玩家登录事件不工作(minecraft bukkit编码)

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

好的,因为我更新了Java8,所以我的代码中没有任何东西可以正常工作,只有控制台日志和一些命令。有一件事我用文字它,并找到解决方案,只是一个基本的球员加入消息。据我所知,该代码没有任何错误:

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文件注册(你必须注册)包含事件处理程序的其他文件,这样当触发事件时,你的自定义代码就会被执行。如果不通过“注册”这些其他文件,游戏就不会“知道”使用您的代码而不是普通代码。