Development Assistance GUI Permissions

Discussion in 'Plugin Help/Development/Requests' started by KrypticIce, Jan 25, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    KrypticIce

    Sorry that i ask alot but i have a plugin that gives users drinks but i want to make it donator only so where to i put player.hasPermission("Drinks.DrinkName"); ? I want it so each Drink has its own permission and if you dont have it the plugin returns a message and it wont let the person have the Drink and will exit the GUI.
    Code:
    package me.jake2967.Drinks;
    
    import java.util.HashMap;
    
    import net.milkbowl.vault.chat.Chat;
    import net.milkbowl.vault.economy.Economy;
    import net.milkbowl.vault.permission.Permission;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerRespawnEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.RegisteredServiceProvider;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class DrinksGUI extends JavaPlugin implements Listener {
       
         public static Permission permission = null;
            public static Economy economy = null;
            public static Chat chat = null;
    
            public static Inventory GUI = Bukkit.createInventory(null, 9, ChatColor.DARK_RED + "" + ChatColor.ITALIC + "" + ChatColor.UNDERLINE + "Drinks");
        @SuppressWarnings({})
        public HashMap<Player, Entity> Menu = new HashMap<Player, Entity>();
    
        public static void setItems() {
            ItemStack Coke = new ItemStack(Material.POTION, 1, (byte) 2);
            ItemMeta Cokemeta = Coke.getItemMeta();
            Cokemeta.setDisplayName(ChatColor.RED + "Cola");
            Coke.setItemMeta(Cokemeta);
            GUI.setItem(3, Coke);
    
            ItemStack Lemonade = new ItemStack(Material.POTION, 1, (byte) 5);
            ItemMeta Lemonademeta = Lemonade.getItemMeta();
            Lemonademeta.setDisplayName(ChatColor.YELLOW + "Lemonade");
            Lemonade.setItemMeta(Lemonademeta);
            GUI.setItem(4, Lemonade);
    
            ItemStack Vodka = new ItemStack(Material.POTION, 1, (byte) 9);
            ItemMeta Vodkameta = Vodka.getItemMeta();
            Vodkameta.setDisplayName(ChatColor.AQUA + "Vodka");
            Vodka.setItemMeta(Vodkameta);
            GUI.setItem(5, Vodka);
           
            ItemStack Creator = new ItemStack(Material.ICE, 1);
            ItemMeta Creatormeta = Creator.getItemMeta();
            Creatormeta.setDisplayName(ChatColor.AQUA + "Created by KrypticIce.");
            Creator.setItemMeta(Creatormeta);
            GUI.setItem(8, Creator);
           
            ItemStack Tester = new ItemStack(Material.ICE, 1);
            ItemMeta Testermeta = Tester.getItemMeta();
            Testermeta.setDisplayName(ChatColor.AQUA + "Tested by Rand0mzxD.");
            Tester.setItemMeta(Testermeta);
            GUI.setItem(0, Tester);
        }
    
        public void onEnable() {
            Bukkit.getServer().getLogger().info("Drinks Enabled!");
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            setItems();
             }
        }
    
        public void onDisable() {
            Bukkit.getServer().getLogger().info("Drinks Disabled!");
        }
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
            event.getPlayer().getInventory().clear();
            ItemStack Chest = new ItemStack(Material.CHEST, 1);
            ItemMeta Chestmeta = Chest.getItemMeta();
            Chestmeta.setDisplayName(ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "Drink" + ChatColor.AQUA + "" + ChatColor.BOLD +  " Selector");
            Chest.setItemMeta(Chestmeta);
            event.getPlayer().getInventory()
            .addItem(Chest);
    
        }
        public static Economy econ = null;
    
        @EventHandler
        public void onInventoryClick(InventoryClickEvent e) {
           
            Player player = (Player)e.getWhoClicked();
           
           
            if (!e.getInventory().getName().equalsIgnoreCase(GUI.getName()))
                return;
            if (e.getCurrentItem().getItemMeta() == null)
                return;
           
           
            if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Cola")) {
                e.setCancelled(true);
                e.getWhoClicked().getInventory()
                        .addItem(new ItemStack(Material.POTION, 1, (byte) 2));
                e.getWhoClicked().closeInventory();
            }
            if (e.getCurrentItem().getItemMeta().getDisplayName()
                    .contains("Lemonade")) {
                e.setCancelled(true);
                e.getWhoClicked().getInventory()
                        .addItem(new ItemStack(Material.POTION, 1, (byte) 5));
                e.getWhoClicked().closeInventory();
            }
            if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Vodka")) {
                e.setCancelled(true);
                e.getWhoClicked().getInventory()
                        .addItem(new ItemStack(Material.POTION, 1, (byte) 9));
                e.getWhoClicked().closeInventory();
            }
                if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Created by KrypticIce.")) {
                    e.setCancelled(true);
                    e.getWhoClicked().closeInventory();
                }
                if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Tested by Rand0mzxD.")) {
                    e.setCancelled(true);
                    e.getWhoClicked().closeInventory();
                }else{
                    player.sendMessage(ChatColor.DARK_GREEN + "EquinoxNetwork" + ChatColor.DARK_AQUA + " >>> " + ChatColor.RED + "Please donate to gain access to these!");
        }
           
        }
    
        @EventHandler
        public void onPlayerRespawn(PlayerRespawnEvent event) {
            event.getPlayer().getInventory().clear();
            ItemStack Chest = new ItemStack(Material.CHEST, 1);
            ItemMeta Chestmeta = Chest.getItemMeta();
            Chestmeta.setDisplayName(ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "Drink" + ChatColor.AQUA + "" + ChatColor.BOLD +  " Selector");
            Chest.setItemMeta(Chestmeta);
            event.getPlayer().getInventory()
            .addItem(Chest);
        }
    
        @SuppressWarnings("unused")
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            Action a = e.getAction();
            ItemStack is = e.getItem();
            if(e.getPlayer().hasPermission("Drinks.OpenGUI"))
    
            if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
                return;
    
            if (is.getType() == Material.CHEST)
                e.getPlayer().openInventory(GUI);   
    
    }
    }
    
     
  2. Offline

    pie_flavor

    um you'd put if (player.hasPermission("Drinks.DrinkName") right before the part where it gives them the drink. where else?
     
Thread Status:
Not open for further replies.

Share This Page