ServerPlugin Eigener Broadcast

Dieses Thema im Forum "Programmierung" wurde erstellt von combo, 21. August 2013.

  1. combo
    Offline

    combo

    Registriert seit:
    16. Juli 2012
    Beiträge:
    160
    Minecraft:
    combo5
    Hallo,
    Ich möchte mir meinen eigenen /broadcast befehl erstellen!
    Den Eclipse befehl habe ich schon gefunden ich suche aber nach einer Möglichkeit den Text hinter /broadcast auszulesen!

    Ich hoffe mir kann jemand helfen
     
    #1
  2. Baba43
    Online

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    #2
  3. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    #3
  4. combo
    Offline

    combo

    Registriert seit:
    16. Juli 2012
    Beiträge:
    160
    Minecraft:
    combo5
    Danke für die schnelle hilfe ich guck mir das mal an!
     
    #4
  5. Chrisliebaer
    Online

    Chrisliebaer

    Du nimmst einfach alle Strings aus dem Array und setzt sie mit einem StringBuilder zusammen.
     
    #5
  6. TheRico123._.
    Online

    TheRico123._.

    Einfacher Broadcast Befehl:

    Code (Text):
    1.  
    2. String Frage = "";
    3. for (int i = 0; i < args.length; i++) {
    4. if (i == 0)
    5. Frage = Frage + args[i];
    6. else {
    7. Frage = Frage + " " + args[i];
    8.    }
    9.  }
    10.  
    11.  
    12. if(cmd.getName().equalsIgnoreCase("Broadcast")){
    13. if(p.hasPermission("<PluginName>.<Befehl>")){
    14. if(args.length == 0){
    15. p.sendMessage("§cVerwendung: §b/broadcast <Nachricht>");
    16. }else if(args.lenght > 0){
    17. bukkit.broadcastMessage("§7[§6Rundruf§7] §3" + Frage);
    18. }
    19. }
    20. }
    21.  

    Einfacher Code.. ebend ^_^
     
    #6
  7. games6471
    Online

    games6471

    Man sollte hierbei lieber ein Stringbuilder benutzen.
     
    #7
  8. combo
    Offline

    combo

    Registriert seit:
    16. Juli 2012
    Beiträge:
    160
    Minecraft:
    combo5
    danke für die hilfe
     
    #8
  9. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Und warum baust du den String ausserhalb der if abfrage zusammen?
    Das verschwendet ressourcen wenn der abgesendete Befehl nicht "broadcast" ist.
     
    #9
  10. games6471
    Online

    games6471

    #10
  11. TheRico123._.
    Online

    TheRico123._.

    Hatte Nicht dran gedacht ^.^ hatte den code aus Langeweile gemacht :) hatte gerade nix zutuen.
    ---
     
    #11
  12. Baba43
    Online

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Also wenn ihr schon alle dazu beitragen wollt, dass der TE nicht lernt, wie er mit Problemen umzugehen hat, zwei Methoden aus meiner API, die für genau diesen Fall geschrieben wurden:

    Code (Text):
    1.  
    2.         public static String createList(final String seperator, String... strings) {
    3.         if(strings.length == 0)
    4.             return null;
    5.         else if(strings.length == 1)
    6.             return strings[0];
    7.         else {     
    8.             StringBuilder sb = new StringBuilder();
    9.             for(String s: strings) {
    10.                 sb.append(s);
    11.                 sb.append(seperator);
    12.             }
    13.  
    14.             sb.setLength(sb.length() - seperator.length());
    15.             return sb.toString();
    16.         }
    17.     }
    18.  
    Code (Text):
    1.  
    2.     public static String createList(final String seperator, int start, String... strings) {
    3.         if(strings.length == 0)
    4.             return null;
    5.         else if(strings.length == 1)
    6.             return strings[0];
    7.         else {     
    8.             StringBuilder sb = new StringBuilder();
    9.             for(int i=start; i<strings.length; i++) {
    10.                 sb.append(strings[i]);
    11.                 sb.append(seperator);
    12.             }
    13.  
    14.             sb.setLength(sb.length() - seperator.length());
    15.             return sb.toString();
    16.         }
    17.     }
    18.  
     
    #12
  13. Chrisliebaer
    Online

    Chrisliebaer

    Code (Text):
    1.  
    2.  
    3.         public static String createList(String... strings){
    4.             createList(" ", strings);
    5.         }
    6.  
    7.         public static String createList(final String seperator, String... strings) {
    8.             createList(seperator, 0, strings) {
    9.         }
    10.  
    11.         //[..]
    12.  
    Wenn schon Code, dann wenigstens auch sauber. Ansonsten gibts den Joiner in der guava Library oder auch in der Apache Commons Library.

    Die Sache ist halt nur, dass man auch verstehen sollte, was man macht. Wenn man hier fertige Codefetzen hinwirft, dann kommen nur noch mehr Fragen.
     
    #13