Solved Commands are not working

Discussion in 'Plugin Development' started by TheBrightnessMan, Jul 26, 2019.

Thread Status:
Not open for further replies.
  1. Hi there,
    I want to develop a plugin that gives groups to players via a GUI, so far I have done the GUI part but when I try to test it, nothing happens. This is my commands class
    Code:
    package main;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    public class Commands implements CommandExecutor {
     
        private Inventory inv = Bukkit.getServer().createInventory(null, 18, "Grant");
    
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
         
            if(sender instanceof Player) {
                if(cmd.getName().equalsIgnoreCase("grant")) {
                         
                             
                                Player p = (Player) sender;
                             
                                //Empty Slot
                                ItemStack empty = new ItemStack(Material.STAINED_GLASS_PANE, 1, (byte) 15);
                                ItemMeta emptyMeta = empty.getItemMeta();
                                emptyMeta.setDisplayName("'");
                                empty.setItemMeta(emptyMeta);
                         
                                //Error Slot
                                ItemStack error = new ItemStack(Material.BARRIER);
                                ItemMeta errorMeta = error.getItemMeta();
                                errorMeta.setDisplayName("" + ChatColor.RED + ChatColor.BOLD + "Error, you do not have permission to grant people this rank");
                                error.setItemMeta(errorMeta);
                         
                                //Builder
                                ItemStack builder = new ItemStack(Material.WOOL, 1, (byte) 14);
                                ItemMeta buildermeta = builder.getItemMeta();
                                buildermeta.setDisplayName("" + ChatColor.DARK_RED + ChatColor.BOLD + "BUILDER");
                                List<String> builderlore = new ArrayList<String>();
                                builderlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.DARK_RED + "BUILDER RANK");
                                buildermeta.setLore(builderlore);
                                builder.setItemMeta(buildermeta);
                         
                                //Head Builder
                                ItemStack hbuilder = new ItemStack(Material.WOOL, 1, (byte) 13);
                                ItemMeta hbuildermeta = hbuilder.getItemMeta();
                                hbuildermeta.setDisplayName("" + ChatColor.DARK_GREEN + ChatColor.BOLD + "HEAD BUILDER");
                                List<String> hbuilderlore = new ArrayList<String>();
                                hbuilderlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.DARK_GREEN + "HEAD BUILDER RANK");
                                hbuildermeta.setLore(hbuilderlore);
                                hbuilder.setItemMeta(hbuildermeta);
                             
                                //Helper
                                ItemStack helper = new ItemStack(Material.WOOL, 1, (byte) 11);
                                ItemMeta helpermeta = helper.getItemMeta();
                                helpermeta.setDisplayName("" + ChatColor.DARK_BLUE + ChatColor.BOLD + "HELPER");
                                List<String> helperlore = new ArrayList<String>();
                                helperlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.DARK_BLUE + "HELPER RANK");
                                helpermeta.setLore(helperlore);
                                helper.setItemMeta(helpermeta);
                             
                                //Mod
                                ItemStack mod = new ItemStack(Material.WOOL, 1, (byte) 2);
                                ItemMeta modmeta = mod.getItemMeta();
                                modmeta.setDisplayName("" + ChatColor.LIGHT_PURPLE + ChatColor.BOLD + "MOD");
                                List<String> modlore = new ArrayList<String>();
                                modlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.LIGHT_PURPLE + "MOD RANK");
                                modmeta.setLore(modlore);
                                mod.setItemMeta(modmeta);
                         
                                //Head Mod
                                ItemStack hmod = new ItemStack(Material.WOOL, 1, (byte) 1);
                                ItemMeta hmodmeta = hmod.getItemMeta();
                                hmodmeta.setDisplayName("" + ChatColor.GOLD + ChatColor.BOLD + "HEAD MOD");
                                List<String> hmodlore = new ArrayList<String>();
                                hmodlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.GOLD + "HEAD MOD RANK");
                                hmodmeta.setLore(hmodlore);
                                hmod.setItemMeta(hmodmeta);
                             
                                //Developer
                                ItemStack dev = new ItemStack(Material.WOOL, 1, (byte) 5);
                                ItemMeta devmeta = dev.getItemMeta();
                                devmeta.setDisplayName("" + ChatColor.GREEN + ChatColor.BOLD + "DEVELOPER");
                                List<String> devlore = new ArrayList<String>();
                                devlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.GREEN + "DEVELOPER RANK");
                                devmeta.setLore(devlore);
                                dev.setItemMeta(devmeta);
                         
                                //Admin
                                ItemStack admin = new ItemStack(Material.WOOL, 1, (byte) 4);
                                ItemMeta adminmeta = admin.getItemMeta();
                                adminmeta.setDisplayName("" + ChatColor.YELLOW + ChatColor.BOLD + "ADMIN");
                                List<String> adminlore = new ArrayList<String>();
                                adminlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.YELLOW + "ADMIN RANK");
                                adminmeta.setLore(adminlore);
                                admin.setItemMeta(adminmeta);     
                             
                                //Head Admin
                                ItemStack hadmin = new ItemStack(Material.WOOL, 1, (byte) 10);
                                ItemMeta hadminmeta = hadmin.getItemMeta();
                                hadminmeta.setDisplayName("" + ChatColor.DARK_PURPLE + ChatColor.BOLD + "HEAD ADMIN");
                                List<String> hadminlore = new ArrayList<String>();
                                hadminlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] +ChatColor.DARK_PURPLE + "HEAD ADMIN RANK");
                                hadminmeta.setLore(hadminlore);
                                hadmin.setItemMeta(hadminmeta);                     
                             
                                //Co Owner
                                ItemStack coowner = new ItemStack(Material.WOOL, 1, (byte) 3);
                                ItemMeta coownermeta = coowner.getItemMeta();
                                coownermeta.setDisplayName("" + ChatColor.BLUE + ChatColor.BOLD + "CO-OWNER");
                                List<String> coownerlore = new ArrayList<String>();
                                coownerlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.BLUE + "CO-OWNER RANK");
                                coownermeta.setLore(coownerlore);
                                coowner.setItemMeta(coownermeta);
                             
                                //Owner
                                ItemStack owner = new ItemStack(Material.WOOL, 1, (byte) 14);
                                ItemMeta ownermeta = owner.getItemMeta();
                                ownermeta.setDisplayName("" + ChatColor.RED + ChatColor.BOLD + "OWNER");
                                List<String> ownerlore = new ArrayList<String>();
                                ownerlore.add(ChatColor.AQUA + "Click to grant" + ChatColor.GRAY + args[0] + ChatColor.RED + "OWNER RANK");
                                ownermeta.setLore(ownerlore);
                                owner.setItemMeta(ownermeta);
                             
                                inv.setItem(0, owner);
                                inv.setItem(1, coowner);
                                inv.setItem(2, hadmin);
                                inv.setItem(3, admin);
                                inv.setItem(4, dev);
                                inv.setItem(5, hmod);
                                inv.setItem(6, mod);
                                inv.setItem(7, helper);
                                inv.setItem(8, hbuilder);
                                inv.setItem(9, empty);
                                inv.setItem(10, empty);
                                inv.setItem(11, empty);
                                inv.setItem(12, empty);
                                inv.setItem(13, builder);
                                inv.setItem(14, empty);
                                inv.setItem(15, empty);
                                inv.setItem(16, empty);
                                inv.setItem(17, empty);
                             
                                p.openInventory(inv);
                             
                             
                        } else {
                            sender.sendMessage(ChatColor.RED + "The player is not online");
                            }
                        } else {
                            sender.sendMessage(ChatColor.RED + "You do not have permission to do this command.");
                        }
         
            return false;
        }
    }
    
    Main class
    Code:
    package main;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    import net.md_5.bungee.api.ChatColor;
    
    public class Main extends JavaPlugin {
     
        public void onEnable() {
            getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "Custom Plugin has been enabled.");
         
        }
     
        public void onDisable() {
            getServer().getConsoleSender().sendMessage(ChatColor.RED + "Custom Plugin has been disabled.");
        }
     
        public void registerEvents() {
         
        }
     
        public void registerCommands() {
         
        }
    }
    
     
  2. Offline

    timtower Administrator Administrator Moderator

    @TheBrightnessMan 1. Don't log your own plugins.
    2. You didn't set the Commands class as the CommandExecutor for the commands that you want to handle.
     
    TheBrightnessMan likes this.
  3. Offline

    robertlit

    As timtower said, you didn't create the constructor for the command's class and also you didn't reference it in the main file (also make sure to include it in plugin.yml)

    Btw, permissionsX would be great for what you're trying to do..
     
    TheBrightnessMan likes this.
  4. after I added the executor the command worked, thank you so much for you help:)
     
  5. Offline

    Machine Maker

    @TheBrightnessMan Please mark this thread as Solved if your issue has been resolved.
     
Thread Status:
Not open for further replies.

Share This Page