• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

p.sendMessage

Anonymo

Kuhfänger
Registriert
8 Februar 2015
Beiträge
66
Diamanten
0
Hallihallo,
da ich mich nun am Plugins programmieren versuche, jedoch nicht gerade sehr gut darin bin habe ich eine Frage:
Wir kann man p.sendMessage("") so umändern das die Message nicht zum Befehlsausführer sondern zu einem eingestellten spieler geht.
Außerdem interessiert mich auch sehr wie man z.b bei /gm1 es so ändern kann das wenn man /gm1 [Player] der angegebene Spieler in den Creativ Modus gebracht wird. [Z.b auch bei /clear [spieler]
u.s.w

ich freue mich über jede Antwort.


Lg Anonymo
 

MysticRunes

Redstoneengineer
Registriert
19 November 2013
Beiträge
44
Diamanten
5
Code:
        // /msg <player> <message>
        if(cmd.getName().equalsIgnoreCase("msg")){
            if (args.length == 0){ //falls nur /msg eingegeben wurde
                p.sendMessage("Please specify a player!");
                return true;
            }
            if (args.length == 1){ //falls nur /msg <name> eingegeben wurde
                p.sendMessage("Please specify a message!");
                return true;
            }
            Player target = Bukkit.getServer().getPlayer(args[0]);
            if (target == null){ //falls Spieler unbekannt ist
                p.sendMessage(ChatColor.RED + args[0] + ChatColor.GRAY + " is not online.");
                return true;
            }
            if (Bukkit.getPlayerExact(args[0]) != null){
                String message = " ";
                for (int i = 1; i < args.length; i++){ //Jedes durch ein Leerzeichen getrenntes Wort wird an String message angehangen
                    message += args[i] + " ";
                }
                p.sendMessage("To " + ChatColor.GREEN + args[0] + ChatColor.GRAY + message);
                target.sendMessage("From " + ChatColor.GREEN + p.getName() + ChatColor.GRAY + message);
                return true;
            }
            p.sendMessage(ChatColor.RED + args[0] + ChatColor.GRAY + " is not online.");
            return true;
        }
Hier schon mal die Sache mit der Nachricht.
(Bin auch noch Anfänger, aber müsste stimmen)
 
Zuletzt bearbeitet:

Lapura

Kuhfänger
Registriert
28 Dezember 2014
Beiträge
73
Alter
26
Diamanten
314
Code:
        //whisper
        if(cmd.getName().equalsIgnoreCase("msg")){
            if (args.length == 0){ //falls nur /msg eingegeben wurde
                p.sendMessage("Please specify a player!");
                return true;
            }
            if (args.length == 1){ //falls nur /msg <name> eingegeben wurde
                p.sendMessage("Please specify a message!");
                return true;
            }
            Player target = Bukkit.getServer().getPlayer(args[0]);
            if (target == null){ //falls Spieler unbekannt ist
                p.sendMessage(ChatColor.RED + args[0] + ChatColor.GRAY + " is not online.");
                return true;
            }
            if (Bukkit.getPlayerExact(args[0]) != null){
                String message = " ";
                for (int i = 1; i < args.length; i++){ //Jedes durch ein Leerzeichen getrenntes Wort wird an String message angehangen
                    message += args[i] + " ";
                }
                p.sendMessage("To " + ChatColor.GREEN + args[0] + ChatColor.GRAY + message);
                target.sendMessage("From " + ChatColor.GREEN + p.getName() + ChatColor.GRAY + message);
                return true;
            }
            p.sendMessage(ChatColor.RED + args[0] + ChatColor.GRAY + " is not online.");
            return true;
        }
Hier schon mal die Sache mit der Nachricht.
(Bin auch noch Anfänger, aber müsste stimmen)


Hätte ich auch so gemacht, außer das mit dem ChatColor da benutze ich immer §
 

MysticRunes

Redstoneengineer
Registriert
19 November 2013
Beiträge
44
Diamanten
5
Ich meine mal gehört zu haben ChatColor sei sicherer, weis da jemand mehr drüber?

@Anonymo Was genau meinst du? mit /msg <player> <message>
Code:
Player target = Bukkit.getServer().getPlayer(args[0]);
In dieser Zeile wird ein Objekt vom Typ Player instanziiert, mit dem Namen args[0] also dem ersten Argument des commands jetzt kannst du immer auf target zugreifen und zB. target.sendMessage("Hallo"); schreiben.
 

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Ich habe gehört das das gleich ist so wie nen Aliase.
Aktuell ist es das gleiche, aber man nimmt grundsätzlich nie Hardcode für solche Sachen. Wenn sich das nämlich mal ändert, dann muss man in gesamten Quellcode dieses Zeichen austauschen. Benutzt man ChatColor, muss man gar nichts machen.
 
Oben