Fehler beim Plugin?!

Dieses Thema im Forum "Programmierung" wurde erstellt von ZombieHunter3658, 17. April 2013.

  1. ZombieHunter3658
    Offline

    ZombieHunter3658

    Registriert seit:
    11. Januar 2013
    Beiträge:
    53
    Ort:
    Deutschland
    Minecraft:
    ZombieHunter3658
    Hallo liebe Programmierer unter euch!

    Ich habe ein Plugin geschrieben aber es gibt irgendeinen Fehler bei onCommand

    Hoffe ihr könnt mir helfen :)

    Code (Text):
    1. package main;
    2.  
    3. import org.bukkit.ChatColor;
    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 AnnounceCMD extends JavaPlugin {
    10.    
    11.     @Override
    12.     public void onEnable() {
    13.         System.out.println("AnnounceCMD v" + this.getDescription().getVersion() + " enabled!");
    14.     }
    15.    
    16.     @Override
    17.     public void onDisable() {
    18.         System.out.println("AnnounceCMD v" + this.getDescription().getVersion() + " disabled!");
    19.     }
    20.     @Override
    21.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    22.        
    23.             if(cmd.getName().equalsIgnoreCase("heal")) {
    24.                
    25.                     if(sender instanceof Player) {
    26.                         Player p = (Player) sender;
    27.                         if(args.length == 0);
    28.                             p.setHealth(20);
    29.                             p.setFoodLevel(20);
    30.                             p.sendMessage(ChatColor.GREEN + "Du bist nun komplett gesund");
    31.                    
    32.                     }
    33.                     else if(args.length == 1) {
    34.                         if(this.getServer().getPlayer(args[0]).isOnline()) {
    35.                             Player target = this.getServer().getPlayer(args[0]);
    36.                             target.setHealth(20);
    37.                             target.setFoodLevel(20);
    38.                             p.sendMessage(ChatColor.GREEN + "Du hast" + args[0] + "erfolgreich geheilt");
    39.                            
    40.                         }
    41.                         else {
    42.                             p.sendMessage(ChatColor.RED + "Spieler nicht online");
    43.                         }
    44.                     }
    45.                    
    46.                     else {
    47.                         System.out.printIn("Command only for inGame-Players!");
    48.                     }
    49.             }
    50.        
    51.             return true;
    52.     }
    53.     }
    54.  
    55. }
    56.  
     
    #1
  2. Smuil
    Offline

    Smuil

    Irgendein Fehler hilft nicht...
     
    #2
  3. rBxGame
    Offline

    rBxGame Ehem. Teammitglied

    Registriert seit:
    16. Februar 2012
    Beiträge:
    1.077
    Wie games schon im Chat sagte,
    eine Exception wäre hilfreich...

    Da du nicht den Eindruck machst, eine
    große Ahnung von Java zu haben
    Exception > sowas wie eine Fehlermeldung.
    Du sagst ja schon, dass es einen Fehler gibt,
    nur welchen...

    MFG
    rBx
     
    #3
  4. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Solche Themen gehören ins Programmierforum!

    *moved*

    EDIT:
    Und warum benutzt du System.out?
    Bukkit stellt einen Logger bereit um ausgaben zu machen.
     
    #4
  5. Funzocker1
    Offline

    Funzocker1

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    127
    Was is am bukkit logger bitte besser -.-
     
    #5
  6. Weil System.out / System.err die Standardausgabe ist,
    Der Logger ist dafür da je nach Einstellungen entsprechend viel auszugeben. Es ist in der API von Bukkit fest benutzt und für jedes Logging System nimmt man spätestens im Produktivsystem einen Logger.
     
    #6
  7. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Früher wurde System.out nicht durch den Bukkit Logger abgedeckt,
    dh. Du konntest keinen Filter erstellen der die ausgabe des Loggings reguliert hat.
    Und wenn du einen Logger benutzt kannst du den Log-level viel genauer einstellen als mit System.out.
    System.out bekommt den "normal" loglevel, das ist aber nicht immer erwünscht.

    Hier kannst du noch mehr dazu lesen: http://forums.bukkit.org/threads/using-plugin-getlogger-for-debug-messages.75787/

    Und deinen Threads nach zu urteilen hast du nicht die geringste Ahnung wovon du redest,
    also lass bitte dieses genervte getue wenn jemand einen verbesserungsvorschlag macht.
     
    #7
  8. ScaryHutman
    Offline

    ScaryHutman

    Registriert seit:
    1. Januar 2013
    Beiträge:
    205
    Ort:
    NRW
    Minecraft:
    Scary_Hutman
    @ZombieHunter:
    Bitte poste hier deine plugin.yml. ;)

    ScaryHutman
     
    #8
  9. b3nn1
    Offline

    b3nn1

    Registriert seit:
    11. März 2013
    Beiträge:
    196
    Ort:
    Da wo du nicht bist.
    Minecraft:
    xStrohhutRuffy
    Er hat mir seine Plugin.yml gegeben :D Hier ist sie;


    Code (Text):
    1.  
    name: AnnounceCMD
    version: 0.1
    author: Zombiehunter3658
    website: -insert url here-

    main: main.AnnounceCMD

    commands:
    heal:
    description: Spieler heilen
    usage: /<command> <spieler>
     
    #9
  10. ScaryHutman
    Offline

    ScaryHutman

    Registriert seit:
    1. Januar 2013
    Beiträge:
    205
    Ort:
    NRW
    Minecraft:
    Scary_Hutman
    Kannst du den Fehler genauer beschreiben? (Fehlermeldung etc.)

    ScaryHutman
     
    #10
  11. gegi321
    Offline

    gegi321

    Registriert seit:
    19. Oktober 2012
    Beiträge:
    12
    Minecraft:
    gegi123
    Code (Text):
    1. if(sender instanceof Player) {
    2.                         Player p = (Player) sender;
    3.                         if(args.length == 0)[COLOR="#FF0000"];[/COLOR]
    4.                             p.setHealth(20);
    5.                             p.setFoodLevel(20);
    6.                             p.sendMessage(ChatColor.GREEN + "Du bist nun komplett gesund");
    7.                    
    8.                     }
    9.                     else if(args.length == 1) {
    Das ; muss mit einem { ersetzt werden
     
    #11