尝试 运行 我的服务器上的脚本时发生错误
An error occurs while trying to run a script on my server
我正在尝试开发一个派系插件,运行每个命令都有一个脚本 运行。所以我有一个 CommandListner 脚本,它由 onEnable 中的 Main.java 激活,监听器使用参数来确定哪个命令是 运行 和 运行 执行该命令的脚本。
我用的API可以在这里找到:https://www.spigotmc.org/wiki/buildtools/
(这是1.8版本)
我尝试了很多方法来解决这个问题,我记得错误是 worse/bigger,但我已经解决了一部分。但我似乎无法找到解决方案。
package net.evolvedmc.evolvedfactions.commands;
import java.awt.Color;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.evolvedmc.evolvedfactions.Main;
public class CommandListner implements CommandExecutor {
private Main plugin;
public CommandListner(Main plugin) {
//Listens for the /f command
this.plugin = plugin;
String STRBaseCMD = "f";
System.out.println("[EvolvedFactions] Listning for command '" + STRBaseCMD + "' with executor " + this);
plugin.getCommand(STRBaseCMD).setExecutor(this);
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
//Defines our player
Player player = (Player) sender;
//checks if the player has given enough arguments
if(args.length == 0) {
player.sendMessage(Color.RED + "Correct usage: /f <arg>");
return false;
}
//checks if our argument is help
if(args[0].equalsIgnoreCase("help")) {
//checks if the player has the permission to execute this command
if(player.hasPermission("evolvedfactions.default.help")) {
//loads the script which executes the command
player.sendMessage("BomPom");
new HelpCommand(this, player);
return true;
} else {
player.sendMessage("You do not have permission to execute this command.");
}
}
return false;
}
}
[23:59:56 INFO]: [EvolvedFactions] Enabling EvolvedFactions v0.1
[23:59:56 INFO]: [EvolvedFactions] Activating CommandListner script
[23:59:56 INFO]: [EvolvedFactions] Listning for command 'f' with executor net.evolvedmc.evolvedfactions.commands.CommandListner@6a47bd0b
[23:59:56 ERROR]: Error occurred while enabling EvolvedFactions v0.1 (Is it up to date?)
java.lang.NullPointerException
at net.evolvedmc.evolvedfactions.commands.CommandListner.<init>(CommandListner.java:22) ~[?:?]
at net.evolvedmc.evolvedfactions.Main.onEnable(Main.java:14) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
您忘记将命令添加到您的 plugin.yml
(这导致 getCommand("f")
到 return null
):
main: ...
version: ...
name: ...
commands:
f:
我正在尝试开发一个派系插件,运行每个命令都有一个脚本 运行。所以我有一个 CommandListner 脚本,它由 onEnable 中的 Main.java 激活,监听器使用参数来确定哪个命令是 运行 和 运行 执行该命令的脚本。
我用的API可以在这里找到:https://www.spigotmc.org/wiki/buildtools/ (这是1.8版本)
我尝试了很多方法来解决这个问题,我记得错误是 worse/bigger,但我已经解决了一部分。但我似乎无法找到解决方案。
package net.evolvedmc.evolvedfactions.commands;
import java.awt.Color;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.evolvedmc.evolvedfactions.Main;
public class CommandListner implements CommandExecutor {
private Main plugin;
public CommandListner(Main plugin) {
//Listens for the /f command
this.plugin = plugin;
String STRBaseCMD = "f";
System.out.println("[EvolvedFactions] Listning for command '" + STRBaseCMD + "' with executor " + this);
plugin.getCommand(STRBaseCMD).setExecutor(this);
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
//Defines our player
Player player = (Player) sender;
//checks if the player has given enough arguments
if(args.length == 0) {
player.sendMessage(Color.RED + "Correct usage: /f <arg>");
return false;
}
//checks if our argument is help
if(args[0].equalsIgnoreCase("help")) {
//checks if the player has the permission to execute this command
if(player.hasPermission("evolvedfactions.default.help")) {
//loads the script which executes the command
player.sendMessage("BomPom");
new HelpCommand(this, player);
return true;
} else {
player.sendMessage("You do not have permission to execute this command.");
}
}
return false;
}
}
[23:59:56 INFO]: [EvolvedFactions] Enabling EvolvedFactions v0.1
[23:59:56 INFO]: [EvolvedFactions] Activating CommandListner script
[23:59:56 INFO]: [EvolvedFactions] Listning for command 'f' with executor net.evolvedmc.evolvedfactions.commands.CommandListner@6a47bd0b
[23:59:56 ERROR]: Error occurred while enabling EvolvedFactions v0.1 (Is it up to date?)
java.lang.NullPointerException
at net.evolvedmc.evolvedfactions.commands.CommandListner.<init>(CommandListner.java:22) ~[?:?]
at net.evolvedmc.evolvedfactions.Main.onEnable(Main.java:14) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
您忘记将命令添加到您的 plugin.yml
(这导致 getCommand("f")
到 return null
):
main: ...
version: ...
name: ...
commands:
f: