1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

PlugIn 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.  
     
  2. Werbung
    Online

    Werbung

  3. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    340
    Geschlecht:
    männlich
    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.
     
  4. Victini151
    Online

    Victini151

    • Gefällt mir Gefällt mir x 1
  5. Anonymo
    Offline

    Anonymo

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

    Kronos197

    Registriert seit:
    20. Dezember 2013
    Beiträge:
    155
    Geschlecht:
    männlich
    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
     
    • Gefällt mir Gefällt mir x 2