Class Bukkit插件:主类中的侦听器

Class Bukkit插件:主类中的侦听器,class,plugins,bukkit,listeners,Class,Plugins,Bukkit,Listeners,我正在尝试制作一个插件,您可以在其中键入命令/设置,并切换布尔值集。如果设置为真,我希望当玩家加入时,它会对他们说“嗨”,但如果设置为“假”,它什么也不做。(顺便说一句,我是唯一一个可以使用该命令的人)。我尝试创建两个类,一个是主类,另一个是侦听器类,但是我无法从侦听器类访问布尔值,所以我尝试在一个类中创建所有布尔值。使用我提供的代码时,除了PlayerJoinEvent之外,其他一切都正常工作。我要么需要解决如何从另一个类访问布尔值,要么解决这个问题 package me.jakegeyer2

我正在尝试制作一个插件,您可以在其中键入命令/设置,并切换布尔值集。如果设置为真,我希望当玩家加入时,它会对他们说“嗨”,但如果设置为“假”,它什么也不做。(顺便说一句,我是唯一一个可以使用该命令的人)。我尝试创建两个类,一个是主类,另一个是侦听器类,但是我无法从侦听器类访问布尔值,所以我尝试在一个类中创建所有布尔值。使用我提供的代码时,除了PlayerJoinEvent之外,其他一切都正常工作。我要么需要解决如何从另一个类访问布尔值,要么解决这个问题

package me.jakegeyer28;

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.plugin.java.JavaPlugin;

import net.md_5.bungee.api.ChatColor;

public class Main extends JavaPlugin implements Listener{

    public boolean set = true;

    @Override
    public void onEnable() {
        getLogger().info("Done");
    }

    @Override
    public void onDisable() {
        getLogger().info("Done");
    }

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("settings")) {
            Player player = (Player) sender;
            if (player.getName().equalsIgnoreCase("jakegeyer27")) {
            if(set == true) {
                set = false;
                player.sendMessage(ChatColor.RED + "Off");
                }
            else if (set == false) {
                set = true;
                player.sendMessage(ChatColor.GREEN + "On");
                }
            }
            return true;
        }
        return false;
    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
        Player player = e.getPlayer();
        if (set == true) {
        player.sendMessage("hi");
    }
    }
    }

谢谢

看来你还没有注册你的听众。即使侦听器是您的主类,您仍然需要使用
this.getServer().getPluginManager().registerEvents(this,this)在
oneable
方法中注册它

您似乎还没有注册您的侦听器。即使侦听器是您的主类,您仍然需要使用
this.getServer().getPluginManager().registerEvents(this,this)在
oneable
方法中注册它