Ich habe ein Bukkit Plugin für Minecraft programmiert, das einen Spawn für einen bestimmten Spieler setzt und diesen in einer config speichert. Das Plugin hat super funktioniert, bis ich eine neue Welt eingefügt habe, weil ich eine Lobby haben wollte.Anscheinend wurde die coonfig gelöscht oder so und jetzt wenn ich /spawn oder /setspawn mach ekomme ich eine NullPointerException. Mein Quellcode für den SetSpawnCommand:
package de.zomlim.Lobbysystem.Commands;
import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player;
import de.zomlim.Lobbysystem.Main.Main; import de.zomlim.Lobbysystem.Utils.Expressions;
public class SetSpawnCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(sender instanceof Player) { Player p = (Player) sender; if(p.hasPermission("lobby.spawn.set")) { if(args.length == 0) { FileConfiguration config = Main.getPlugin().getConfig(); config.set("Spawn.World", p.getWorld().getName()); config.set("Spawn.X", p.getLocation().getX()); config.set("Spawn.Y", p.getLocation().getY()); config.set("Spawn.Z", p.getLocation().getZ()); config.set("Spawn.Yaw", p.getLocation().getYaw()); config.set("Spawn.Pitch", p.getLocation().getPitch()); Main.getPlugin().saveConfig(); sendMsg(p, Expressions.SUCCESS); } else sendMsg(p, Expressions.USAGE); } else sendMsg(p, Expressions.NOPERMS); } else sendMsg(sender, Expressions.INVALIDSENDER); return false; }
public void sendMsg(CommandSender receiver, Expressions expression) { if(expression == Expressions.NOPERMS) receiver.sendMessage(Main.Prefix + "§4Keine Berechtigung"); else if(expression == Expressions.USAGE) receiver.sendMessage(Main.Prefix + "§cBitte benutze: §6/setspawn§c!"); else if(expression == Expressions.INVALIDSENDER) receiver.sendMessage(Main.Prefix + "§cDiesen Befehl kann nur ein Spieler ausführen!"); else if(expression == Expressions.SUCCESS) receiver.sendMessage(Main.Prefix + "§aDu hast den §6Spawn §aerfolgreich umgesetzt!"); } }
Ich bitte um Hilfe!!!
(PS: Ich programmiere noch nicht so lange, falls etwas dumm oder falsch gemacht ist bitte nicht schlagen!!!)