Frage von tdiwi, 12

[Bukkit] Spielern Punkte über Befehl geben?

Ich bin gerade dabei, ein Minispiel-Plugin zu schreiben, ein Teilausschnitt aus dem Code lautet wie folgt. (Ich will** Spielern Punkte über einen Befehl** zufügen, diese werden über die Config.yml abgerufen bzw. gespeichert.)

    if(args[0].equalsIgnoreCase("addPoints")){
    if(p.hasPermission("Tiron.addPoints")){
        if(args.length == 3){
            String Spieler = args[1];
            int points = Integer.parseInt(args[2]);
            Player S = Bukkit.getPlayer(Spieler);
                    
            if(S != null){  
            Bukkit.broadcastMessage(Spieler + points);
                S.playSound(S.getLocation(), Sound.FUSE,1, 3);
                            PunkteDrauf pd = new PunkteDrauf(this);
                            pd.punkte(S, points);
                }
            }else{
        p.sendMessage(this.prefix + "§4/Tiron addPoints <Spieler> <Punkte>");
            }
        }
        }
Antwort
von Xearox, 8

Frag mal auf Spigotmc.org nach. Die können dir da besser helfen.

Außerdem würde ich die Vorschlagen, deinen Quellcode auf eine Sprache festzulegen. Wenn du schon Deutsche Wörter verwendest, solltest du deine Methoden auch auf Deutsch schreiben. Also:

Player player = (Player) sender;

Ansonsten arbeite mit Offline Player. Zum Beispiel bei onCommand:

Player playerSender = (Player) sender;
OfflinePlayer offPlayer = this.getServer().getOfflinePlayer(playerSender.getUniqueId());
Player player = offPlayer.getPlayer();

Darüber hinaus würde ich dir empfehlen, die SpiGot API zu nutzen und nicht die von Bukkit, da die SpiGot API Leistungsstärker ist!

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten