Hi! So the problem is that I get the permission in console, but it won't let me use the command. I changed the command to /duck to see if it helps a bit and it didn't. (Its still at /duck). Anyone willing to help out? Main: Code: package me.goldenpie6; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.permission.Permission; public class Main extends JavaPlugin { Plugin plugin; public static Economy economy = null; public static Permission permission = null; private boolean setupPermissions() { RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class); if(permissionProvider != null) { permission = permissionProvider.getProvider(); } return (permission != null); } private Boolean setupEconomy() { RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(Economy.class); if (economyProvider != null) { economy = (Economy)economyProvider.getProvider(); } if (economyProvider != null) { return Boolean.valueOf(true); } return Boolean.valueOf(false); } private final ClickListener clickListener = new ClickListener(this); @Override public void onEnable() { PluginManager pm = getServer().getPluginManager(); pm.registerEvents(clickListener, this); getConfig(); PluginDescriptionFile pdfFile = getDescription(); getLogger().info("A wild " + pdfFile.getName() + " version " + pdfFile.getVersion() + " appeared!"); setupEconomy(); setupPermissions(); if (getConfig().getString("starting-rank") == null) { saveDefaultConfig(); } } public void onDisable() { saveConfig(); } public boolean onCommand(CommandSender sender, Command command, String flag, String[] args) { Player player = (Player) sender; if ((sender instanceof Player)) { player = (Player)sender; } if ((command.getName().equalsIgnoreCase("buycommands")) || (command.getName().equalsIgnoreCase("buyc")) || (command.getName().equalsIgnoreCase("bcommands"))) { Bukkit.broadcastMessage("TEST"); if ((sender instanceof Player)) { if ((args.length == 0)) { ItemStack tpa = new ItemStack(Material.PAPER); ItemMeta meta = tpa.getItemMeta(); meta.setDisplayName(ChatColor.AQUA + "Tpa"); ArrayList<String> lore = new ArrayList<String>(); lore.add(ChatColor.GREEN + "Price: " + this.getConfig().getString("prices.tpa")); meta.setLore(lore); tpa.setItemMeta(meta); ItemStack withdraw = new ItemStack(Material.PAPER); ItemMeta meta2 = withdraw.getItemMeta(); meta2.setDisplayName(ChatColor.AQUA + "Withdraw"); ArrayList<String> lore2 = new ArrayList<String>(); lore2.add(ChatColor.GREEN + "Price: " + this.getConfig().getString("prices.withdraw")); meta2.setLore(lore2); withdraw.setItemMeta(meta2); ItemStack balance = new ItemStack(Material.EMERALD); ItemMeta meta3 = balance.getItemMeta(); meta3.setDisplayName(ChatColor.GREEN + "Balance: " + economy.getBalance(player)); balance.setItemMeta(meta3); Inventory inv = Bukkit.createInventory(null, 3*9, ChatColor.BLACK + "Commands"); inv.setItem(10, tpa); inv.setItem(11, withdraw); inv.setItem(0, balance); player.openInventory(inv); return true; } } return false; } if((command.getName().equalsIgnoreCase("duck") && player.hasPermission("buycommands.command1"))) { player.sendMessage("TEST ARG"); return true; } else if((command.getName().equalsIgnoreCase("duck") && !player.hasPermission("buycommands.command1"))) { return false; } return true; } } ClickListener: Code: package me.goldenpie6; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.RegisteredServiceProvider; import net.milkbowl.vault.permission.Permission; public class ClickListener implements Listener { private static Plugin plugin; @SuppressWarnings("static-access") public ClickListener(Plugin plugin) { this.plugin = plugin; } @EventHandler public void Inventory(InventoryClickEvent event) { Player player = (Player) event.getWhoClicked(); if((event.getInventory().getTitle().equalsIgnoreCase("Commands"))); if ((event.getSlot() == 10) && (Main.economy.getBalance(player) >= plugin.getConfig().getInt("prices.tpa"))) { event.setCancelled(true); Bukkit.getServer().dispatchCommand(player.getServer().getConsoleSender(), "manuaddp " + player.getName() + " buycommands.command2"); } else if((event.getSlot() == 11 && (Main.economy.getBalance(player) >= plugin.getConfig().getInt("prices.withdraw")))) { event.setCancelled(true); Bukkit.getServer().dispatchCommand(player.getServer().getConsoleSender(), "manuaddp " + player.getName() + " buycommands.command1"); player.sendMessage(ChatColor.GREEN + "You have purchased the withdraw command!"); } } }
@goldenpie6 You are probably getting a ClassCastException when you use it from the console or do you get something else?