Need help with resource pack link

Discussion in 'Plugin Development' started by Calebizzthaman, Aug 19, 2017.

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

    Calebizzthaman

    I've been trying to make a plugin that creates a GUI when a player joins the server and it allows them to choose from three different texture packs. Everything is working except for the links. (They were working when the plugin was first finished but not it will not even ask the player if they want to download the texture pack, anymore.)
    Can someone help?

    Code:
    public class GUI implements Listener{
    
    
        public GUI(Main plugin) {
            this.plugin = plugin;
            this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
       
        }
    
        public void openGUI(Player player) {
            Inventory inv = Bukkit.createInventory
                    (null, 9, ChatColor.DARK_RED + "Texture Pack Selector");
       
            ItemStack versionOne = new ItemStack(Material.STONE);
            ItemMeta versionOneMeta = versionOne.getItemMeta();
       
            ItemStack versionTwo = new ItemStack(Material.IRON_BLOCK);
            ItemMeta versionTwoMeta = versionTwo.getItemMeta();
       
            ItemStack versionThree = new ItemStack(Material.DIAMOND_BLOCK);
            ItemMeta versionThreeMeta = versionThree.getItemMeta();
       
            versionOneMeta.setDisplayName(ChatColor.GREEN + "McBattleGrounds Texture Pack Version 1");
            versionOne.setItemMeta(versionOneMeta);
       
            versionTwoMeta.setDisplayName(ChatColor.GREEN + "McBattleGrounds Texture Pack Version 2");
            versionTwo.setItemMeta(versionTwoMeta);
       
            versionThreeMeta.setDisplayName(ChatColor.GREEN + "McBattleGrounds Texture Pack Version 3");
            versionThree.setItemMeta(versionThreeMeta);
       
            inv.setItem(2, versionOne);
            inv.setItem(4, versionTwo);
            inv.setItem(6, versionThree);
       
            player.openInventory(inv);
        }
    
        @EventHandler
        public void onInventoryClick(InventoryClickEvent e) {
            if(!ChatColor.stripColor(e.getInventory().getName())
                    .equalsIgnoreCase("Texture Pack Selector"))
                return;
            Player p = (Player) e.getWhoClicked();
            e.setCancelled(true);
       
            if(e.getCurrentItem()==null || e.getCurrentItem().getType()==Material.AIR || !e.getCurrentItem().hasItemMeta()) {
                p.closeInventory();
                return;
            }
       
            switch(e.getCurrentItem().getType()) {
            case STONE:
                p.setResourcePack("http://mcbattlegrounds.org/v1.1.1.1.zip");
                break;
            case IRON_BLOCK:
                p.setResourcePack("http://mcbattlegrounds.org/v2.1.1.1.zip");
                break;
            case DIAMOND_BLOCK:
                p.setResourcePack("http://mcbattlegrounds.org/v3.1.1.1.zip");
                break;
            default:
                p.closeInventory();
                break;
            }
        }
    
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
    
            new BukkitRunnable() {
                @Override
                public void run() {
                    openGUI(p);
                }
            }.runTaskLater(plugin, 40);
        }
    }
     
    Last edited: Aug 19, 2017
Thread Status:
Not open for further replies.

Share This Page