2016-06-14 4 views
0

누군가가 우리 웹 사이트에 기부 할 때 간단한 사용자 정의 메시지를 서버에 브로드 캐스팅하기 위해 내 서버 (CraftBukkit 1.8.8) 용 작은 플러그인을 만들려고합니다.메시지 문자열 문제를 방송하는 Bukkit 플러그인

플러그인 자체는 하나의 문제를 제외하고는 개념 상 작동합니다. 그것은 메시지의 공백/공백을 포함하지 않으므로, "hello world"는 내가 원하는 것이 아닌 "helloworld"로 방송했습니다.

이것은 처음으로 자바를 사용하거나 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();  
    } 
} 

내가 YouTube에서 튜토리얼 다음이 코딩 있습니다. 그래서 그것을 변경 한 후

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

!