gpt4 book ai didi

java - 我的配置文件出现 PlayerJoinEvent 错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:07 25 4
gpt4 key购买 nike

每次通过配置文件连接时,我都会收到错误。

主类:


public Core plugin;

@Override
public void onEnable() {

Bukkit.getServer().getPluginManager().registerEvents(new Events(), this);
new DiscordCommand(this);
new TeamspeakCommand(this);
new cHubCommand(this);
new PingCommand(this);
new HelpCommand(this);
new WebsiteCommand(this);
new BuyCommand(this);
new MenuCommand(this);

getConfig().options().copyDefaults(true);
saveConfig();
}

事件类:


@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {

Player player = event.getPlayer();

event.setJoinMessage(null);
event.getPlayer().sendMessage(Core.getPlugin(null).getConfig().getString("joinmessage_1.", "§fWelcome to the official §acHub§f network!"));
event.getPlayer().sendMessage(Core.getPlugin(null).getConfig().getString("joinmessage_1.", "§fWelcome to the official §acHub§f network!"));
event.getPlayer().sendMessage(Core.getPlugin(null).getConfig().getString("joinmessage_2.", "§fIf you need any assistance, type §a/help"));
event.getPlayer().sendMessage(Core.getPlugin(null).getConfig().getString("joinmessage_line_2.", "§7§m--------------------------------------"));

控制台错误: https://pastebin.com/CDwK3UFj

最佳答案

问题出在 Core.getPlugin(null) 上。方法 getPlugin() 来自您的 Core.java 扩展的父类 JavaPlugin,并且您不能将 null 作为参数传递。

如果你想引用你的插件对象(Core.java),你可以将其更改为Core.getPlugin(Core.class),但更专业的是在构造函数中传递对该类的引用。

因此,您的 Events.class 的开头将如下所示:

Core plugin;

public Events(Core plugin){
this.plugin = plugin;
}

然后你可以简单地做:

event.getPlayer().sendMessage(plugin.getConfig().getString("joinmessage_1.", "§fWelcome to the official §acHub§f network!"));

在核心类中,您将其更改为:

Bukkit.getServer().getPluginManager().registerEvents(new Events(this), this);

关于java - 我的配置文件出现 PlayerJoinEvent 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com