ServerPlugin Wo ist der Fehler?

Dieses Thema im Forum "Programmierung" wurde erstellt von JunkyKeks, 26. Mai 2016.

  1. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    Guten Tag,
    ich suche verzweifelt seit gestern Abend nach dem Fehler...

    Eventuell kann mir ja hier jemand weiterhelfen! Bevor Sachen kommen wie "Du solltest die Grundlagen von Java lernen", kann ich vorab wegnehmen, dass ich jeden Tag lerne.

    http://pastebin.com/1wVwFEG4
     
    #1
  2. Vazug
    Offline

    Vazug

    Du kannst ja mal in den Logs nachgucken, da findest du den Fehler sicherlich, den du sogar posten kannst, damit wir dir helfen können.
     
    #2
  3. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Was ist den die Fehlermeldung?
     
    #3
  4. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    Es gibt keine Fehlermedlung. Es wird lediglich die Nachricht "/gs" zurückgegeben.

    Hier noch die plugin.yml -> http://pastebin.com/PMDMNhkq
     
    #4
  5. Vazug
    Offline

    Vazug

    Muss man die Befehle in der plugin.yml eintragen? @Profis
     
    #5
  6. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    1:
    Code (Text):
    1. System.out.println("[JunkyCraftDE] Plugin aktiviert!");
    Es ist ja schön das du die Grundlagen von Java lernst, aber du solltest auch die Grundlagen von bukkit lernen...
    2:
    Code (Text):
    1. if(p.hasPermission("JunkyCraftDE.gs")) {
    2.     } else {
    !Wtf
    3: Wenn nur der command ausgegeben wird dann endet dein code an der Stelle return false
     
    #6
    jensIO gefällt das.
  7. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Code (Text):
    1. if(p.hasPermission("JunkyCraftDE.gs")) {
    2.     } else {
    Hier wäre
    Code (Text):
    1. if(!p.hasPermission("JunkyCraftDE.gs"))
    sinnvoller, weil du dann sagst das du es nur nimmst wenn es nicht erfüllt ist anstatt direkt einen else Block zu haben.
     
    #7
  8. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ich kann dir nur empfehlen Code ordentlich einzurücken. Dann wird der Fehler offensichtlich. Wenn der Spieler die Permission JunkyCraftDE.gs hat, wird direkt zu dem return false; gesprungen und deswegen nur /gs ausgegeben.
    Code (Text):
    1. package me.JunkyCraft.de;
    2.  
    3. import org.bukkit.command.Command;
    4. import org.bukkit.command.CommandSender;
    5. import org.bukkit.entity.Player;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class main extends JavaPlugin implements Listener {
    10.    
    11.     public void onEnable() {
    12.         System.out.println("[JunkyCraftDE] Plugin aktiviert!");
    13.     }
    14.  
    15.     public void onDisable() {
    16.         System.out.println("[JunkyCraftDE] Plugin deaktiviert!");
    17.     }
    18.    
    19.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    20.         Player p = (Player) sender;
    21.         if (cmd.getName().equalsIgnoreCase("gs")) {
    22.             if(p.hasPermission("JunkyCraftDE.gs")) {
    23.             } else {
    24.                 p.sendMessage("§7[§6JunkyCraftDE§7] §7Du hast dazu keine Berechtigung!");
    25.                 if (args.length == 1) {
    26.                     if(args[0].equalsIgnoreCase("bekommen")) {
    27.                         p.performCommand("p auto");
    28.                         for(int i = 0; i < 50; i++)
    29.                             p.sendMessage("");
    30.                         p.sendMessage("§3§m---------------------------------------------------");
    31.                         p.sendMessage("§7Willkommen auf deinem Grundstück!");
    32.                         p.sendMessage("§7Hierhin gelangst du immer mit /gs tp");
    33.                         p.sendMessage("§7Viel Spaß!");
    34.                         p.sendMessage("§3§m---------------------------------------------------");
    35.                     } else if(args[0].equalsIgnoreCase("tp")) {
    36.                         p.performCommand("p home");
    37.                         for(int i = 0; i < 50; i++)
    38.                             p.sendMessage("");
    39.                         p.sendMessage("§3§m---------------------------------------------------");
    40.                         p.sendMessage("§7Willkommen auf deinem Grundstück!");
    41.                         p.sendMessage("§7Viel Spaß!");
    42.                         p.sendMessage("§3§m---------------------------------------------------");
    43.                     } else {
    44.                         p.performCommand("warp gs");
    45.                         for(int i = 0; i < 50; i++)
    46.                             p.sendMessage("");
    47.                         p.sendMessage("§3§m---------------------------------------------------");
    48.                         p.sendMessage("§3/gs bekommen §7| Bekomme ein Grundstück!");
    49.                         p.sendMessage("§3/gs tp §7| Komme zu deinem Grundstück!");
    50.                         p.sendMessage("§3§m---------------------------------------------------");
    51.                         return true;
    52.                     }
    53.                     // for(int i = 0; i < 50; i++)p.sendMessage("");
    54.                 }
    55.             }
    56.         }
    57.         return false;
    58.     }
    59. }
     
    #8
  9. monst12
    Offline

    monst12

    Registriert seit:
    22. Januar 2013
    Beiträge:
    3
    Ort:
    Cosmiqum in Glow
    Minecraft:
    monst12
    Hey,

    *Danke an Inkemann. Meinte frei Kopf, dass das eventuell helfen könnte.*
    Ich hatte das Problem mal vor einer gefühlten Ewigkeit und meine es mit dem Entfernen der Permissions aus der plugin.yml und dem usage-Teil behoben zu haben. (Ich mochte das Permissionsystem von Buklit nicht besonders. Deshalb habe ich aus der plugin.yml einfach alles bis auf die desc entfernt.)
    Zudem muss hier eben auch der Inhalt der onCommand Methode angepasst werden.
     
    #9
  10. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Wenn der Befehl in der Hauptklasse ausgeführt wird, muss er nur in der plugin.yml eingetragen werden.
     
    #10
  11. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    Hallo,
    ich habe gemacht, was ihr gesagt habt. Leider funktioniert es immernoch nicht.
     
    #11
  12. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    Hat sonst noch jemand eine Idee? Ich bekomme es nicht behoben.
     
    #12
  13. ProudValley
    Offline

    ProudValley

    Schicke uns doch bitte mal die aktuelle Log File, entweder hast du noch etwas falsch gemacht oder etwas stimmt mit dem Server nicht.
     
    #13
  14. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Ja, lern vernünftig Java und dann Bukkit. Inkemann hat den Fehler jetzt schon so offensichtlich aufgezeigt das du Blind sein musst um das zu übersehen (selbst wenn man kein Java kann sieht man den).
    Und wenn du schon wieder nach Hilfe fragen musst dann müsstest du (wenigstens) den aktualisierten Code posten.
     
    #14
    jensIO, Inkemann und ProudValley gefällt das.
  15. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    <ironie> Deine Antwort hat mir sehr weitergeholfen! </ironie>
     
    #15
  16. JunkyKeks
    Offline

    JunkyKeks

    Registriert seit:
    3. Januar 2016
    Beiträge:
    48
    Ort:
    Spenge, bei Bielefeld
    Minecraft:
    JunkyKeks
    #16
  17. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Meine Antwort war zu mindestens hilfreicher als es für uns:
    war.

    Wenn die onCommand Methode false zurück liefert wird dem Spieler die Nutzung des Commands ausgegeben. Wenn sie true zurückliefert wird alles ganz normal ausgeführt....
    Also sorg einfach dafür das true zurückgeliefert wird
     
    #17
    XHann3sX, ProudValley und jensIO gefällt das.