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
    Ort:
    Bayern
    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
     
    #1
  2. Nehme einfach einen StringBuilder:

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

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    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
     
    #3
  4. GermanCrazyCraft
    Offline

    GermanCrazyCraft

    Registriert seit:
    25. Februar 2013
    Beiträge:
    19
    Ort:
    Bayern
    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
     
    #4
  5. GermanCrazyCraft
    Offline

    GermanCrazyCraft

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

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    an wen ist das gerichtet? an mich oder manf?
     
    #6
  7. GermanCrazyCraft
    Offline

    GermanCrazyCraft

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

    Danke im Vorraus
     
    #7
  8. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    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> {
     
    #8
  9. GermanCrazyCraft
    Offline

    GermanCrazyCraft

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

    Mfg Nico
     
    #9