ServerPlugin Zweiter Command

Dieses Thema im Forum "Programmierung" wurde erstellt von Anonymo, 21. August 2015.

  1. Anonymo
    Offline

    Anonymo

    Registriert seit:
    8. Februar 2015
    Beiträge:
    66
    Hallo,
    ich probiere mich in letzter Zeit im Plugins programieren und habe immer wieder ein Problem:

    Code (Text):
    1.  
    2. package me.enderelf.skypvp;
    3.  
    4. import org.bukkit.GameMode;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.plugin.java.JavaPlugin;
    10.  
    11. public class main extends JavaPlugin implements Listener{
    12.    
    13.    @Override
    14.    public void onEnable() {
    15.      this.getServer().getPluginManager().registerEvents(this,  this);
    16.      System.out.println("[Ender-System]Plugin erfolgreich aktiviert!");
    17.      
    18.    }
    19.  
    20.    @Override
    21.    public void onDisable() {
    22.      System.out.println("[Ender-System] Plugin erfolgreich deaktiviert!");
    23.      
    24.    }
    25.    
    26.    public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args) {
    27.    
    28.     Player p = (Player) sender;
    29.      
    30.      if(cmd.getName().equalsIgnoreCase("clear")) {
    31.        if(p.hasPermission("SkyPvP.clear")) {
    32.          p.getInventory().clear();
    33.          p.sendMessage("§8[SkyPvP] §6Dein Inventar wurde geleert!");
    34.          return true;
    35.        }
    36.        if(cmd.getName().equalsIgnoreCase("gm1")) {
    37.          if(p.hasPermission("SkyPvP.gm1")) {
    38.            p.setGameMode(GameMode.CREATIVE);
    39.            p.sendMessage("§8[SkyPvP] §6Du bist jetzt im Creativ-Modus!");
    40.            return true;
    41.        }
    42.        }
    43.      }
    44.      return false;      
    45.    }
    46. }
    47.  
    Wenn ich /clear eingebe kommt alles richtig raus,
    doch wenn ich /gm1 eingebe kommt immer nur in weißer schrift im chat /gm1
    Es kommt in der Konsole keine Fehlermeldung.

    Trotzdem nochmal die Plugin.yml:
    Code (Text):
    1.  
    2. name: SkyPvP
    3. version: 1.0
    4. main: me.enderelf.skypvp.main
    5. author: EnderElf
    6. commands:
    7.   clear:
    8.   description: Loescht dein Inventar
    9.   usage: /<command>
    10.   gm1:
    11.   description: Aendert deinen Modus in Creativ!
    12.   usage: /<command>
    13.  
     
    #1
  2. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Es liegt entweder an deiner falsch formatierten plugin.yml oder daran, dass der Benutzer die Permission "SkyPvP.gm1" nicht hat.

    Edit: Und außerdem an den Bedingungen.
     
    #2
  3. Victini151
    Online

    Victini151

    #3
    Inkemann gefällt das.
  4. Anonymo
    Offline

    Anonymo

    Registriert seit:
    8. Februar 2015
    Beiträge:
    66
    Wie muss es denn richtig aussehen?
     
    #4
  5. Kronos197
    Offline

    Kronos197

    Registriert seit:
    20. Dezember 2013
    Beiträge:
    153
    Ort:
    Frankfurt
    Minecraft:
    Kronos197
    Code (Text):
    1.  
    2. if(cmd.getName().equalsIgnoreCase("clear"))
    3. {
    4.     if(p.hasPermission("SkyPvP.clear"))
    5.     {
    6.         p.getInventory().clear();
    7.         p.sendMessage("§8[SkyPvP] §6Dein Inventar wurde geleert!");
    8.         return true;
    9.     }
    10. }
    11. if(cmd.getName().equalsIgnoreCase("gm1"))
    12. {
    13.         if(p.hasPermission("SkyPvP.gm1"))
    14.         {
    15.             p.setGameMode(GameMode.CREATIVE);
    16.             p.sendMessage("§8[SkyPvP] §6Du bist jetzt im Creativ-Modus!");
    17.             return true;
    18.         }
    19.     }
    20.  
    Das muss so ausehen!
    Du hast erst abgefragt ob der Command "/Clear" ist und wnn das so IST, DANN hast du gefragt ob der command "/gm1" ist und somit ist es unmöglich den Command zu benutzen!

    Ich hab oben die richtige verkapslung geschrieben!


    Hoffe Ich konnte helfen!
    LG
    Kronos197
     
    #5
    Anonymo und Payno4 gefällt das.