Minecraft Plugin Teleport Fehler

acine123

Mitglied
Hallo.
Habe seit kurzem angefangen Mincraft Bukkit Plugins zu programmieren. Ich benutze dabei Eclipse, und habe die Bukkit Datei zu den Bibliotheken hinzugefügt, wie der Mann aus dem Youtube Tutorial. Einfache Commands wie /showadmins funktionieren problemlos. Und auch das teleportieren selbst funktioniert. Aber wenn ich zb /teleport askdfjasdfk eingebe, kommt im Chat dass ein Fehler passiert ist. Das sollte eigentlich nicht der Fall sein, denn ich habe in den Code geschrieben, dass wenn ein Spieler eingegeben wird der nicht online ist, eine Meldung an den Spieler geschickt werden soll. Aber stattdessen kommt ein Fehler. Ich habe es meiner Meinung nach so gemacht wie der Tutorial Typ. Hier der Code:
Java:
	if(cmd.getName().equalsIgnoreCase("t")){
			if(args.length==1){
				
				Player ziel = getServer().getPlayer(args[0]);
				if(ziel.isOnline()){
					
					Location ziellocation = ziel.getLocation();
					p.teleport(ziellocation);
					p.sendMessage(ChatColor.GREEN+"Du hast dich zu "+ args[0]+" teleportiert");
					return true;
				}
					
				else{
					p.sendMessage(args[0]+" ist nicht Online");
					return true;
				
			
				
			}}else if(args.length==2){
				Player p1 = getServer().getPlayer(args[0]);
				Player p2 = getServer().getPlayer(args[1]);
				if(p1.isOnline()&&p2.isOnline()){
					p1.teleport(p2.getLocation());
					p.sendMessage("Teleportation erfolgreich");
				}
				else{
					p.sendMessage("Einer der Spieler ist nicht online");
				}
			}
			else{
				return false;
			}
		}


Anstatt /teleport ist es bei mir der Befehl /t ... . Ich habe auch in der plugin.yml alles richtig gemacht.
 
Wenn der Player nicht nur nicht online ist, sondern überhaupt nicht existiert (es sich noch nie jemand mit dem eingegebenen Namen eingeloggt hat) dann gibt getPlayer wahrscheinlich null zurück. Und Wenn du versuchst auf null isOnline auszuführen, wird eine NPE geworfen.
 

Zurück
Oben