Plugin Help My Command Not Working! HELP Please!

Discussion in 'Plugin Help/Development/Requests' started by DazzT, Apr 24, 2016.

Thread Status:
Not open for further replies.
  1. hi i am maing a kitpvp server and i have a starter kit and you do ''/starter'' but nothing happens please help!
    Code:
    package nl.yerionlgames.ykitpvp.main;
    
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import nl.yerionlgames.ykitpvp.listeners.YPlayerListeners;
    
    public class YMain extends JavaPlugin {
    
        private static YMain instance;
    
        public void log(String string) {
            System.out.println(string);
        }
    
        public static YMain getInstance() {
            return instance;
        }
    
        public void registerListeners() {
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvents(new YPlayerListeners(this), this);
        }
    
        public void registerCommands() {
            // not using this!
        }
    
        @Override
        public void onEnable() {
            getLogger().info("Has Been Enabled!");
            instance = this;
            registerListeners();
            registerCommands();
    
        }
    
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    
            if (cmd.getName().equalsIgnoreCase("kit") && sender instanceof Player) {
                Player player = (Player) sender;
                player.openInventory(YPlayerListeners.gui);
            }
                // kit starter command
                if (cmd.getName().equalsIgnoreCase("starter") && sender instanceof Player) {
                    Player p = (Player) sender;
                    if (p.hasPermission("ykitpvp.starter")) {
                        return true;
                    }else{
                        p.sendMessage(ChatColor.RED + "YOU DONT HAVE PERMISSION!");
                  
                    p.getInventory().clear();
    
                    // player addons
                    p.setMaxHealth(40);
                    p.sendMessage(ChatColor.AQUA + "You Was Given The " + ChatColor.BLUE + "Starter Kit!");
                    p.getInventory().setItem(2, new ItemStack(Material.COOKED_BEEF, 64));
    
                    // bow
                    ItemStack starterbow = new ItemStack(Material.BOW);
                    ItemMeta bow = starterbow.getItemMeta();
                    bow.setDisplayName(ChatColor.GREEN + "Starter" + ChatColor.BLUE + "Bow");
                    starterbow.setItemMeta(bow);
                    starterbow.addEnchantment(Enchantment.DURABILITY, 3);
                    starterbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
                    p.getInventory().setItem(1, starterbow);
                    p.getInventory().setItem(9, new ItemStack(Material.ARROW, 1));
    
                    // armor
                    p.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
                    p.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
                    p.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
                    p.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
    
                    // sword
                    ItemStack startersword = new ItemStack(Material.DIAMOND_SWORD);
                    ItemMeta sword = starterbow.getItemMeta();
                    sword.setDisplayName(ChatColor.RED + "Starter" + ChatColor.WHITE + "Sword");
                    startersword.setItemMeta(sword);
                    startersword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
                    startersword.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setItemInOffHand(new ItemStack(Material.SHIELD));
                    p.getInventory().setItem(0, startersword);
                }
            }
            return true;
        }
    
    
    
        @Override
        public void onDisable() {
            getLogger().info("Has Been Disabled!");
            instance = null;
        }
    
    }
    I fix it i had to remove the p.hasPermission because it was blocking the command!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Apr 25, 2016
  2. ummm do u want it to be like /kit starter ?? because the way i have done it has just done /starter you will need to use arguments like if(args[1] == "starter"){
    //do stuff
    }
    other wise its seen as a seperate command !
    ( to my knowledge ! )
     
  3. Offline

    maux

    You see this:
    Code:
     if (p.hasPermission("ykitpvp.starter")) {
    return true;
    }else{
    p.sendMessage(ChatColor.RED + "YOU DONT HAVE PERMISSION!");
                
     p.getInventory().clear();
    Try changing it to this:
    Code:
     if (!p.hasPermission("ykitpvp.starter")) {
    p.sendMessage(ChatColor.RED + "YOU DONT HAVE PERMISSION!");
    p.getInventory().clear();
    return false; // stops the code here if you don't have perms
    } // no need for an 'else' statement
                 
    Or try one of these options:
    - Register your commands (/kit, /starter) in the plugin.yml
    - Register your commands (^) on your onEnable()
     
  4. i have a new code. how do i add permissions
    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    Code:
    package nl.yerionlgames.ykitpvp.main;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.permissions.Permission;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import nl.yerionlgames.ykitpvp.listeners.YPlayerListeners;
    
    public class YMain extends JavaPlugin
    {
        private static YMain instance;
    
        public void log(String string)
        {
            System.out.println(string);
        }
    
        public static YMain getInstance() {
            return instance;
        }
    
        public void registerListeners() {
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvents(new YPlayerListeners(this), this);
        }
    
        //permissions
        public Permission testPer = new Permission("ykitpvp.kight");
    
        public void registerCommands()
        {
        }
    
        public void onEnable()
        {
            PluginManager pm = getServer().getPluginManager();
            getLogger().info("Has Been Enabled!");
            instance = this;
            registerListeners();
            registerCommands();
            pm.addPermission(testPer);
           
        }
    
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if ((cmd.getName().equalsIgnoreCase("hub")) && ((sender instanceof Player))) { 
                Player p = (Player)sender;
                World w = Bukkit.getWorld("kitpvpworld");
                Location hub = new Location(w, 76716.5, 102, -4618.5);
                p.teleport(hub);
                p.getInventory().clear();
                p.setMaxHealth(20);
                p.setFoodLevel(1000000000);
            }
    
            {
                if ((cmd.getName().equalsIgnoreCase("kit")) && ((sender instanceof Player))) {
                    Player player = (Player)sender;
                    player.openInventory(YPlayerListeners.gui);
                }
    
                if ((cmd.getName().equalsIgnoreCase("knight")) && ((sender instanceof Player))) {
                    Player p = (Player)sender;
                    p.getInventory().clear();
                    //player
                    p.setMaxHealth(40);
                    p.setFoodLevel(30);
                    p.setHealth(40);
                    p.sendMessage(ChatColor.AQUA + "You Was Given The " + ChatColor.BLUE + "Knight Kit");
                    p.getInventory().setItem(2, new ItemStack(Material.COOKED_BEEF, 64));
                    //bow
                    ItemStack starterbow = new ItemStack(Material.BOW);
                    ItemMeta bow = starterbow.getItemMeta();
                    bow.setDisplayName(ChatColor.GREEN + "Knight" + ChatColor.BLUE + "Bow");
                    starterbow.setItemMeta(bow);
                    starterbow.addEnchantment(Enchantment.DURABILITY, 3);
                    starterbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
                    p.getInventory().setItem(1, starterbow);
                    p.getInventory().setItem(9, new ItemStack(Material.ARROW, 1));
                    //armor
                    p.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
                    p.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
                    p.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
                    p.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
                    //sword
                    ItemStack startersword = new ItemStack(Material.DIAMOND_SWORD);
                    ItemMeta sword = starterbow.getItemMeta();
                    sword.setDisplayName(ChatColor.GREEN + "Knight" + ChatColor.BLUE + "Sword");
                    startersword.setItemMeta(sword);
                    startersword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
                    startersword.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setItemInOffHand(new ItemStack(Material.SHIELD));
                    p.getInventory().setItem(0, startersword);               
                }
    
                if ((cmd.getName().equalsIgnoreCase("archer")) && ((sender instanceof Player))) {
                    Player p = (Player)sender;
                    p.getInventory().clear();
                    //player
                    p.setMaxHealth(40);
                    p.setFoodLevel(30);
                    p.setHealth(40);
                    p.sendMessage(ChatColor.RED + "You Was Given The " + ChatColor.GOLD + "Archrer Kit");
                    p.getInventory().setItem(2, new ItemStack(Material.COOKED_BEEF, 64));
                    //bow
                    ItemStack archbow = new ItemStack(Material.BOW);
                    ItemMeta bow = archbow.getItemMeta();
                    bow.setDisplayName(ChatColor.GOLD + "Archer " + ChatColor.BLUE + "Bow");
                    archbow.setItemMeta(bow);
                    archbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
                    archbow.addEnchantment(Enchantment.DURABILITY, 3);
                    archbow.addEnchantment(Enchantment.ARROW_DAMAGE, 3);
                    archbow.addEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
                    p.getInventory().setItem(1, archbow);
                    p.getInventory().setItem(9, new ItemStack(Material.ARROW, 1));
                    //sword
                    ItemStack archsword = new ItemStack(Material.IRON_SWORD);
                    ItemMeta sword = archsword.getItemMeta();
                    sword.setDisplayName(ChatColor.GOLD + "Archer " + ChatColor.BLUE + "Sword");
                    archsword.setItemMeta(sword);
                    archsword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
                    archsword.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setItem(0, archsword);
                    p.getInventory().setItem(3, new ItemStack(Material.GOLDEN_APPLE, 5));
                    //helmet
                    ItemStack lhelmet = new ItemStack(Material.LEATHER_HELMET);
                    lhelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
                    lhelmet.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setHelmet(lhelmet);
                    //chestplate
                    ItemStack lchest = new ItemStack(Material.LEATHER_CHESTPLATE);
                    lchest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
                    lchest.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setChestplate(lchest);
                    //leggins
                    ItemStack lleg = new ItemStack(Material.LEATHER_LEGGINGS);
                    lleg.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
                    lleg.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setLeggings(lleg);  
                    //boots
                    ItemStack lboots = new ItemStack(Material.LEATHER_BOOTS);
                    lboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
                    lboots.addEnchantment(Enchantment.DURABILITY, 3);
                    p.getInventory().setBoots(lboots);
               
                }
            }
            return true;
        }
    
    
        public void onDisable()
        {
            getLogger().info("Has Been Disabled!");
            instance = null;
        }
    }
    and also how do i give the player a specific Potion?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Apr 27, 2016
  5. Offline

    redtsch

    To add a potion:

    Code:
    ItemStack item = new ItemStack(373, 1, (short) 16396);
    player.getInventory().addItem(item);
    
    16396 = extension number of the potion your giving "EX: 373:16396" Would give you a splash harming potion
    373 = main id of a water bottle
    1 = Amount Of Item
     
Thread Status:
Not open for further replies.

Share This Page