1. 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!

Kleines Problem mit Argumenten:

Dieses Thema im Forum "Programmierung" wurde erstellt von GermanCrazyCraft, 3. Mai 2014.


  1. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Minecraft:
    Nico2705
    Hallo liebe Community;
    ich habe mir in mein RPG Plugin mit eingabaut die zweite Zeile meiner Motd zu ändern. Dies geschieht mit dem befehl /motd Hier kommt der Text hin (mit /motdclear wirds resettet) Aber ich schaffe es nicht die Argumente ohne Großen aufwand in EINEN String zu basteln.

    Könnt ihr mir da vll helfen ?
    Danke im Vorraus

    Mfg Nico
     
  2. Nehme einfach einen StringBuilder:

    StringBuilder sb = new StringBuilder();
    for(String arg:args) {
    sb.append(arg);
    }
    String result = sb.toString();
     
  3. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    Minecraft:
    GPSforLEGENDS
    String motD = new String args[0] + " " + args[1] + " "
    ODER mit eine For Schleife
    for(int i = 1; i < args.length; i++){
    this.motD = motD + args + " ";
    }
    hoffe es war hilfreich ;D
     
  4. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Minecraft:
    Nico2705
    Code (Text):
    1. @Override
    2.     public boolean onCommand(CommandSender sender, Command cmd, String label,
    3.             String[] args) {
    4.         if(cmd.getName().equalsIgnoreCase("motd")){
    5.             if(sender instanceof Player){
    6.                 Player p = (Player) sender;
    7.                 Main.motdline = null;
    8.                 Main.motdline = hier muss der zusammengesetzte string rein!;
    9.                 p.sendMessage("§6[RPG]§7 Die Motd wurde zu:§2 " + hier muss auch der string  rein + "§7 geändert!");
    10.                 return true;
    11.             } else {
    12.                 sender.sendMessage("§6[RPG]§7 Du musst ein Spieler sein um dies zu tun!");
    13.                 return true;
    14.             }
    15.         } else {
    16.             if(cmd.getName().equalsIgnoreCase("motdclear")){
    17.                 if(sender instanceof Player){
    18.                     Player p = (Player) sender;
    19.                     Main.motdline = null;
    20.                     Main.setdefaultmotd();
    21.                     p.sendMessage("§6[RPG]§7 Die Motd wurde zurückgesetzt!");
    22.                     return true;
    23.                 } else {
    24.                     sender.sendMessage("§6[RPG]§7 Du musst ein Spieler sein um dies zu tun!");
    25.                     return true;
    26.                 }
    27.             }
    28.         }
    29.         return true;
    30.     }
    @Override


    Wie muss ich das jetzt einfügen?
    Pls hilf mal ;D
     
    Zuletzt bearbeitet: 3. Mai 2014
  5. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Minecraft:
    Nico2705
    ich bekomms irgendwie nicht hin :/
     
  6. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    Minecraft:
    GPSforLEGENDS
    an wen ist das gerichtet? an mich oder manf?
     
  7. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Minecraft:
    Nico2705
    An den der mir besser erklären kann wies geht :D

    Danke im Vorraus
     
  8. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    Minecraft:
    GPSforLEGENDS
    ok, also zuerst solltest du machen ig(args.lenght) == 0 { return false;}
    und dann meine for schleife for(int i = 1; i < args.length; i++){
    this.grund = grund + args + " ";
    }

    das ganze sollte dann so aussehen
    Code (Text):
    1.  
    2.     @Override
    3.     public boolean onCommand(CommandSender sender, Command cmd, String label,
    4.             String[] args) {
    5.         if(cmd.getName().equalsIgnoreCase("motd")){
    6.             if(sender instanceof Player){
    7.                 if(args.lenght == 0){
    8.                     return false;
    9.                 }
    10.                 for(int i = 1; i < args.length; i++){
    11.                     this.motd = motd + args[i] + " ";
    12.                 }
    13.                
    14.                 Player p = (Player) sender;
    15.                 Main.motdline = null;
    16.                 Main.motdline = motd;
    17.                 p.sendMessage("§6[RPG]§7 Die Motd wurde zu:§2 " + motd + "§7 geändert!");
    18.                 return true;
    19.             } else {
    20.                 sender.sendMessage("§6[RPG]§7 Du musst ein Spieler sein um dies zu tun!");
    21.                 return true;
    22.             }
    23.         } else {
    24.             if(cmd.getName().equalsIgnoreCase("motdclear")){
    25.                 if(sender instanceof Player){
    26.                     Player p = (Player) sender;
    27.                     Main.motdline = null;
    28.                     Main.setdefaultmotd();
    29.                     p.sendMessage("§6[RPG]§7 Die Motd wurde zurückgesetzt!");
    30.                     return true;
    31.                 } else {
    32.                     sender.sendMessage("§6[RPG]§7 Du musst ein Spieler sein um dies zu tun!");
    33.                     return true;
    34.                 }
    35.             }
    36.         }
    37.         return true;
    38.     }
    39.  
    40. }
    41.  
    42.  
    - - - Aktualisiert - - -

    nicht vergessen den grund als leeren String zu definieren ;D

    also String grund = "";
    gleich unter public class <name> {
     
    Zuletzt von einem Moderator bearbeitet: 4. Mai 2014
  9. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Minecraft:
    Nico2705
    Dank dir ich tests mal ;)
    Wenn du mal Hilfe bei was brauchste kannste dich gerne bei mir melden!

    Mfg Nico