2016-06-14 8 views
0

Ich versuche, ein kleines Plugin für meinen Server zu machen (CraftBukkit 1.8.8) eine einfache benutzerdefinierte Nachricht an den Server zu senden, wenn jemand auf unserer Website spendet.Bukkit Plugin für den Rundfunk Nachrichtenkette Ausgabe

Das Plugin selbst arbeitet in Konzept, mit Ausnahme von einem Thema. Es wird KEINE Leerzeichen/Leerstellen in der Nachricht enthalten, also "Hallo Welt", es wird als "Helloworld" gesendet, was nicht das ist, was ich möchte.

versucht Dies ist mein erstes Mal, Java zu programmieren, oder für bukkit Plugins im Allgemeinen, so bin ich mir immer noch sehr neu. Die meisten Artikel, die ich in Bezug auf Übertragungen sehe, berühren mein Problem nicht, daher würde jede Hilfe geschätzt werden.

Code:

public final class DonateBroadcast extends JavaPlugin { 

    public void onEnable() { 

     System.out.println("DonateBroadcast enabled."); 

    } 

    public void onDisable() { 

     System.out.println("DonateBroadcast disabled."); 

    } 

    public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) { 
     if(cmd.equalsIgnoreCase("dbcast")) { 
      if((sender instanceof Player)) { 
       sender.sendMessage("This command must be executed by the console"); 
      } else { 
       if(args.length == 0) { 
        System.out.println(ChatColor.DARK_RED + "You need to type in a message!"); 
       } else { 
        getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + "WEB" + ChatColor.DARK_GRAY + "] " + ChatColor.GOLD + message(args)); 
       } 

      } 
     } 
     return false; 
    } 

    public String message(String[] args) { 
     StringBuilder builder = new StringBuilder(); 
     for(int i = 0; i < args.length; i++) 
     builder.append(args[i]); 
     builder.append(" "); 
     return builder.toString();  
    } 
} 

Bitte beachten Sie, dass ich das ein Tutorial auf youtube folgenden codiert.

Antwort

0

Nun um nach dem Spiel, ich vergaß offenbar in Klammern für die for-Anweisung hinzuzufügen:

public String message(String[] args) { 
     StringBuilder builder = new StringBuilder(); 
     for(int i = 0; i < args.length; i++) 
     builder.append(args[i]); 
     builder.append(" "); 
     return builder.toString();  
    } 

so, nachdem es an sich verändernde:

public String message(String[] args) { 
     StringBuilder builder = new StringBuilder(); 
     for(int i = 0; i < args.length; i++) 
     { 
      builder.append(args[i]); 
      builder.append(" "); 
     } 
     return builder.toString();  
    } 

es jetzt funktioniert ohne Probleme.

0

Nach dem Aussehen, builder.append(" ") funktioniert nicht für Sie, als ich mein Plugin mit meinem eigenen/msg-Befehl machte, hatte ich das gleiche Problem. Aber ich habe eine andere Methode gefunden. Also statt

public String message(String[] args) { 
    StringBuilder builder = new StringBuilder(); 
    for(int i = 0; i < args.length; i++) 
    builder.append(args[i]); 
    builder.append(" "); 
    return builder.toString();  
} 

Verwendung:

public String message(String[] args){ 
    String string = ""; 
    for (int i = 0; i != args.length; i++){ 
     msg += args[i] + " "; 
    } 
    return msg; 
} 

Hoffentlich funktioniert!