Frage von Basti020, 52

Minecraft Plugin (Bukkit-Spigot) Spieler teleportieren auf Befehl?

Ich bin ein blutiger Anfänger in Java, und habe nicht wirklich vor es wirklich zu lernen, bin momentan an C++ dran.

Es geht darum: ich möchte das ein Spieler teleportiert wird, wenn er eben einen gewissen Befehl eingibt. Hier mein Code:

if(command.getName().equalsIgnoreCase("kw")) {
        
        if (player == null) {
            sender.sendMessage(ChatColor.RED + "[Info] " + ChatColor.WHITE + "Bitte Ingame ausführen");
            
            return false; 
        } else {

            Player p = (Player) sender;
            World w = Bukkit.getServer().getWorld(getConfig().getString("world"));
                    
            double c = player.getLocation().getX();
            double cc = player.getLocation().getY();
            double ccc = player.getLocation().getZ();
            Location loc = new Location(w, c, cc,ccc);
            //Player zu der Location teleporten
            p.teleport(loc);
  
            return true;
        }
        
    }

Liegt an World w Variable, stimmt's? GetConfig gehört da ga rnicht hin, arbeite mit keiner, hab diesen Teil vom Internet genommen, um zu probieren. Kann mir jemand weiterhelfen?

Antwort
von MDHDM, 40

Hallo,

zu allererst würde ich dir empfehlen,


if(sender instanceof Player) {
// Ausführen
} else {
sender.sendMessage("Du musst ein Spieler sein");
}
return true;

zu verwenden, wenn du testen willst, ob der sender ein Spieler ist.

Mit dem, was du da geschrieben hast, wird der Spieler ja in die Welt x an die genau die Koordinaten kopiert, an denen er zum Zeitpunkt des Befehlausführens in seiner aktuellen Welt steht.

(x entspricht in dem Fall dem in dem Config angegeben String)

Die Koordinaten eines Spielers bekommst du mit p.getLocation().getX(), .getY(), .getZ(), und den Namen der Welt mit p.getLocation().getWorld().getName();

Wenn du das ganze so wie Oben ausprobiert hast, musst du natürlich einen Wert in die config.yml eingetragen haben.

Ich hoffe, ich konnte Dir helfen (bin nicht ganz schlau aus deiner Frage geworden ;) )

Kommentar von MDHDM ,

Bei Rückfragen gerne Kommentieren

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten