2016-06-14 6 views
0

私のサーバー(CraftBukkit 1.8.8)用の小さなプラグインを作成して、誰かが私たちのウェブサイトに寄付したときに簡単なカスタムメッセージをサーバーにブロードキャストしようとしています。メッセージストリングのブロードキャスト用Bukkitプラグイン

プラグイン自体は、1つの問題を除いて、概念的に機能します。それはメッセージに空白/スペースを含んでいないので、 "hello world"は "helloworld"として放送しました。これは私が望んでいないものです。

これは初めてjavaを使用してプログラムを作成しようとしているか、または一般的なbukkitプラグイン用です。私が放送に関して見たほとんどの記事は私の問題に触れていないので、どんな助けもありがたいです。

コード:

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();  
    } 
} 

私はユーチューブのチュートリアル以下、これをコード化されますのでご注意ください。そうにそれを変更した後

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();  
    } 

答えて

0

はよく遊んでた後、私は明らかにfor文のためのブラケットを追加するのを忘れ

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();  
    } 

それが今で問題なく動作します。

0

builder.append(" ")は私の独自の/ msgコマンドでプラグインを作成していたときに同じ問題を抱えていました。しかし、私は別の方法を見つけました。だからではなく、

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();  
} 

利用:

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

うまくいけば、これは動作します!

関連する問題