如何解决为什么此代码无法正常运行,并显示NullPointerException
所以我现在才开始研究用于加入pvpevents的Minecraft插件,这是我的第一个插件,因此不要在代码上花太多时间。我只想知道为什么它不能正常运行,而这些是类。
主要
public class Main extends JavaPlugin{
@Override
public void onEnable(){
System.out.println("PvP event plugin je upaljen");
getCommand("event").setExecutor(new EventCommand());
getCommand("join").setExecutor(new EventJoinCommand());
}
}
EventCommand
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
public class EventCommand implements CommandExecutor{
@Override
public boolean onCommand(CommandSender sender,Command arg1,String arg2,String[] arg3) {
Player player = (Player) sender;
if (arg3[0].equalsIgnoreCase("host") || arg3[1].equalsIgnoreCase("gapple")) {
String kit = arg3[0];
String velikoSlovo = kit.substring(0,1).toUpperCase() + kit.substring(1);
TextComponent message = new TextComponent(player.getName() + " je zapoceo " + velikoSlovo + " turnir. ");
message.setColor(ChatColor.LIGHT_PURPLE);
TextComponent ulazak = new TextComponent("Klikni da udes");
ulazak.setColor(ChatColor.YELLOW);
ComponentBuilder cb = new ComponentBuilder("Klikni na tekst da udes").color(ChatColor.AQUA);
ulazak.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,cb.create()));
ulazak.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/join"));
message.addExtra(ulazak);
for (int i = 0; i < 5; i++) {
Bukkit.getServer().spigot().broadcast(message);
try {
Thread.sleep(7000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else {player.sendMessage("Moras upisati tocnu komandu: /event [kit]");}
return false;
}
}
EventJoinCommand
import java.util.ArrayList;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class EventJoinCommand implements CommandExecutor{
static int i = 0;
static ArrayList<String> listaIgracaTurnira = new ArrayList<String>();
@Override
public boolean onCommand(CommandSender sender,String[] arg3) {
Player igrac = (Player) sender;
if (EventUlazakJosTraje(sender)) {
igrac.sendMessage(ChatColor.DARK_RED + "Uspijesno si usao u event");
} else {
igrac.sendMessage(ChatColor.DARK_RED + "Nema eventa u kojeg mozes uc ili je vec startao");
}
return false;
}
public static boolean EventUlazakJosTraje(CommandSender sender){
Player player = (Player) sender;
listaIgracaTurnira.add(player.getName());
i++;
return true;
}
}
这是我的服务器发出的错误:https://prnt.sc/tyfv8d
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。