ServerPlugin Bukkit Plugin gibt Befehl in weißer Schrift zurück

Dieses Thema im Forum "Programmierung" wurde erstellt von StalkerLukas, 28. März 2014.

  1. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Hey ich bin grade dabei mich ein wenig mit dem Programmieren eigener Plugins zu beschäftigen. Soweit so gut. das Plugin lässt sich auch installieren und es wird unter /plugins angezeigt.

    Wenn ich jetzte aber einen Befehl eingebe kommt dieser nur in weiß zurück.

    Kann mir da vielleicht jemand helfen?

    Mfg
     
    #1
  2. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Das hliegt meist an einer fehlerhaften plugin.yml oder dem Code :) Beides einmal her :)
     
    #2
  3. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Natürlich sollst du haben :D


    Einmal der normale Code:
    Code (Text):
    1.  
    2.  
    3. package packageeins;
    4.  
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandSender;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.plugin.java.JavaPlugin;
    10.  
    11. public class TestPlugin extends JavaPlugin{
    12.    
    13.    
    14.     public void onEnable(){
    15.         System.out.println("Plugin TestPlugin wurde aktiviert ;)");
    16.        
    17.        
    18.     }
    19.    
    20.    
    21.     public void onDisable(){
    22.         System.out.println("Plugin TestPlugin wurde deaktiviert :(");
    23.        
    24.        
    25.     }
    26.     public boolean onCommand(Command cmd, CommandSender sender, String label, String[] args) {
    27.         if(cmd.getName().equalsIgnoreCase("heal")){
    28.             if(!(sender instanceof Player)){
    29.                
    30.                 System.out.println("Du bist kein Spieler!");
    31.                 return false;
    32.             }
    33.             Player p = (Player) sender;
    34.             if(args.length == 0){
    35.                
    36.                 p.setHealth(20D);
    37.                 p.setFoodLevel(20);
    38.                 p.sendMessage(ChatColor.RED + "[" +this.getDescription().getName() + "]" + ChatColor.GREEN + "Du hast dich geheilt!");
    39.                 return true;
    40.                
    41.         }else if(args.length == 1){
    42.             if(this.getServer().getPlayer(args[0]).isOnline()){
    43.                 Player z = this.getServer().getPlayer(args[0]);
    44.                
    45.                 z.setHealth(20D);
    46.                 z.setFoodLevel(20);
    47.                 z.sendMessage(ChatColor.RED + "[" +this.getDescription().getName() + "]" + ChatColor.GREEN + "Du wurdest geheilt!");
    48.                 p.sendMessage(ChatColor.RED + "[" +this.getDescription().getName() + "]" + ChatColor.GREEN + "Du hast " + args[0] +" geheilt!");
    49.                 return true;
    50.                
    51.             }else{
    52.                
    53.                 return false;
    54.             }
    55.            
    56.            
    57.         }else{
    58.             return false;
    59.         }
    60.        
    61.         }
    62.         return false;
    63.     }
    64.    
    65.    
    66.  
    67. }
    68.  
    69.  
    70.  
    Und die Plugin.yml:
    Code (Text):
    1. name: Tutorial
    2. version: 1.0
    3. author: Lukas
    4.  
    5. main: packageeins.TestPlugin
    6. commands:
    7.     heal:
    8.         usage: /<command>
    9.         description: Heilt dich oder jemand anderen
     
    #3
  4. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)
    Ich empfehle dir wegen dem weißem Text die Usage zu entfernen.
    LG.
     
    #4
  5. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Ok werd ich machen. Aber es geht darum das die Befehle nicht ausgeführt werden sondern einfach nur nochmal im Chat zurück kommen.
     
    #5
  6. best_ronsuper
    Offline

    best_ronsuper

    Registriert seit:
    8. August 2013
    Beiträge:
    16
    Minecraft:
    best_ronsuper
    Also wäre schön wenn du den Code nochmal posten würdest und dann die Chat colors durch § ersetzt, das Macht alles übersichtlicher, außerdem kannst du die
    }else{
    Return true;
    }
    Weglassen und einfach nur } machen, wenn es dann immernoch nicht geht nochmal Code posten :)
     
    #6
  7. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Danke das versuche ich heute Mittag gleich und meld mich dann nochmal ;)
     
    #7
  8. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Also leider funktioniert der Befehl immer noch nicht egal ob mit return true; oder ohne ... hier nochmal der Code
    Code (Text):
    1. package packageeins;
    2.  
    3.  
    4. import org.bukkit.command.Command;
    5. import org.bukkit.command.CommandSender;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class TestPlugin extends JavaPlugin{
    10.    
    11.    
    12.     public void onEnable(){
    13.         System.out.println("Plugin TestPlugin wurde aktiviert ;)");
    14.        
    15.        
    16.     }
    17.    
    18.    
    19.     public void onDisable(){
    20.         System.out.println("Plugin TestPlugin wurde deaktiviert :(");
    21.        
    22.        
    23.     }
    24.     public boolean onCommand(Command cmd, CommandSender sender, String label, String[] args) {
    25.         if(cmd.getName().equalsIgnoreCase("heal")){
    26.             if(!(sender instanceof Player)){
    27.                
    28.                 System.out.println("Du bist kein Spieler!");
    29.                 return false;
    30.             }
    31.             Player p = (Player) sender;
    32.             if(args.length == 0){
    33.                
    34.                 p.setHealth(20D);
    35.                 p.setFoodLevel(20);
    36.                 p.sendMessage("§4 [" +this.getDescription().getName() + "]" + "§a Du hast dich geheilt!");
    37.                 return true;
    38.                
    39.         }else if(args.length == 1){
    40.             if(this.getServer().getPlayer(args[0]).isOnline()){
    41.                 Player z = this.getServer().getPlayer(args[0]);
    42.                
    43.                 z.setHealth(20D);
    44.                 z.setFoodLevel(20);
    45.                 z.sendMessage("§4 [" +this.getDescription().getName() + "]" + "§a Du wurdest geheilt!");
    46.                 p.sendMessage("§4 [" +this.getDescription().getName() + "]" + "§a Du hast " + args[0] +" geheilt!");
    47.                 return true;
    48.                
    49.             }else{
    50.                
    51.                 return false;
    52.             }
    53.            
    54.            
    55.         }else{
    56.             return false;
    57.         }
    58.        
    59.         }
    60.         return false;
    61.     }
    62.    
    63.    
    64.  
    65. }
    66.  
     
    #8
  9. ThunderFlo
    Offline

    ThunderFlo

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Wie wärs wenn du halt mal dein Command in der onEnable einträgst?
     
    #9
  10. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    So hab ich getan und funktioniert leider immer noch nicht...;(

    Code (Text):
    1.  
    2.  
    3. public void onEnable(){
    4.         System.out.println("Plugin TestPlugin wurde aktiviert ;)");
    5.         this.getCommand("heal").setExecutor(this);
    6.        
    7.     }
    8.  
    9.  
     
    #10
  11. StalkerLukas
    Offline

    StalkerLukas

    Registriert seit:
    5. Mai 2013
    Beiträge:
    30
    Minecraft:
    StalkerLukas
    Haben den Fehler gefunden und behoben : Durch das return false wurde die usage wiedergegeben.

    Hier nochmal der Funktionierende Code :

    Code (Text):
    1.  
    2. package packageeins;
    3.  
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandExecutor;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.plugin.java.JavaPlugin;
    11.  
    12. public class TestPlugin extends JavaPlugin implements CommandExecutor{
    13.  
    14.  
    15. public void onEnable(){
    16. System.out.println("Plugin TestPlugin wurde aktiviert ;)");
    17. this.getCommand("heal").setExecutor(this);
    18.  
    19. }
    20.  
    21.  
    22. public void onDisable(){
    23. System.out.println("Plugin TestPlugin wurde deaktiviert :(");
    24.  
    25.  
    26. }
    27. @Override
    28. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    29.  
    30. if(label.equalsIgnoreCase("heal")){
    31. if(!(sender instanceof Player)){
    32.  
    33. System.out.println("Du bist kein Spieler!");
    34. return true;
    35. }
    36.  
    37. Player p = (Player) sender;
    38.  
    39. if(args.length == 0){
    40.  
    41. p.setHealth(20D);
    42. p.setFoodLevel(20);
    43. p.sendMessage("§a Du hast dich geheilt!");
    44. return true;
    45.  
    46. }
    47. if(args.length == 1){
    48. if(Bukkit.getPlayer(args[0]).isOnline()){
    49. Player z = Bukkit.getPlayer(args[0]);
    50.  
    51. z.setHealth(20D);
    52. z.setFoodLevel(20);
    53. z.sendMessage("§a Du wurdest geheilt!");
    54. p.sendMessage("§a Du hast " + args[0] +" geheilt!");
    55. return true;
    56. }
    57. }
    58. }
    59.  
    60. return false;
    61. }
    62. }
    63.  
     
    #11