Search in sources :

Example 11 with ClickEvent

use of com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent in project VotingPlugin by Ben12345rocks.

the class AdminVoteCumulative method onChest.

@Override
public void onChest(Player player) {
    BInventory inv = new BInventory("Edit Cumulative");
    inv.requirePermission("VotingPlugin.Commands.AdminVote.Edit.Cumulative");
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER).setName("&cEdit existing cumulative rewards")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            ArrayList<Integer> nums = new ArrayList<Integer>();
            for (String num : plugin.getSpecialRewardsConfig().getCumulativeVotes()) {
                if (StringParser.getInstance().isInt(num)) {
                    nums.add(Integer.parseInt(num));
                }
            }
            Number[] options = new Number[nums.size()];
            for (int i = 0; i < nums.size(); i++) {
                options[i] = nums.get(i);
            }
            new ValueRequestBuilder(new NumberListener() {

                @Override
                public void onInput(Player player, Number value) {
                    RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("Cumulative." + value.intValue() + ".Rewards"));
                }
            }, options).allowCustomOption(false).usingMethod(InputMethod.INVENTORY).request(clickEvent.getPlayer());
        }
    });
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.EMERALD_BLOCK).setName("&aAdd cumulative reward")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new ValueRequest().requestNumber(player, new NumberListener() {

                @Override
                public void onInput(Player player, Number value) {
                    plugin.getSpecialRewardsConfig().setCumulative(value.intValue());
                    plugin.reload();
                }
            });
        }
    });
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.REDSTONE_BLOCK).setName("&cRemove cumulative")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteCumulativeRemove(plugin, clickEvent.getPlayer()).open();
        }
    });
    inv.openInventory(player);
}
Also used : Player(org.bukkit.entity.Player) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) ArrayList(java.util.ArrayList) BInventory(com.bencodez.advancedcore.api.inventory.BInventory) ValueRequest(com.bencodez.advancedcore.api.valuerequest.ValueRequest) ValueRequestBuilder(com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) NumberListener(com.bencodez.advancedcore.api.valuerequest.listeners.NumberListener)

Example 12 with ClickEvent

use of com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent in project VotingPlugin by Ben12345rocks.

the class VoteTopVoterLastMonth method onChest.

@Override
public void onChest(Player player) {
    Set<Entry<TopVoterPlayer, Integer>> users = null;
    users = plugin.getLastMonthTopVoter().entrySet();
    BInventory inv = new BInventory(plugin.getGui().getChestVoteTopName());
    inv.addPlaceholder("topvoter", "Last Month");
    if (!plugin.getConfigFile().isAlwaysCloseInventory()) {
        inv.dontClose();
    }
    int pos = 1;
    for (Entry<TopVoterPlayer, Integer> entry : users) {
        ItemBuilder playerItem;
        if (plugin.getGui().isChestVoteTopUseSkull()) {
            playerItem = new ItemBuilder(entry.getKey().getPlayerHead());
        } else {
            playerItem = new ItemBuilder(Material.valueOf(plugin.getGui().getChestVoteTopPlayerItemMaterial()));
        }
        playerItem.setLore(new ArrayList<String>());
        inv.addButton(new BInventoryButton(playerItem.setName(plugin.getGui().getChestVoteTopItemName()).addLoreLine(plugin.getGui().getChestVoteTopItemLore()).addPlaceholder("position", "" + pos).addPlaceholder("player", entry.getKey().getPlayerName()).addPlaceholder("votes", "" + entry.getValue())) {

            @Override
            public void onClick(ClickEvent clickEvent) {
                TopVoterPlayer user = (TopVoterPlayer) getData("User");
                new VoteGUI(plugin, player, user.getUser()).open(GUIMethod.valueOf(plugin.getGui().getGuiMethodGUI().toUpperCase()));
            }
        }.addData("player", entry.getKey().getPlayerName()).addData("User", entry.getKey()));
        pos++;
    }
    if (plugin.getGui().getChestVoteTopBackButton()) {
        inv.getPageButtons().add(plugin.getCommandLoader().getBackButton(user).setSlot(1));
    }
    inv.setPages(true);
    inv.setMaxInvSize(plugin.getGui().getChestVoteTopSize());
    inv.openInventory(player);
}
Also used : BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) TopVoterPlayer(com.bencodez.votingplugin.topvoter.TopVoterPlayer) BInventory(com.bencodez.advancedcore.api.inventory.BInventory) Entry(java.util.Map.Entry) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder)

Example 13 with ClickEvent

use of com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent in project VotingPlugin by Ben12345rocks.

the class VoteURL method onChest.

@Override
public void onChest(Player player) {
    // normal GUI
    BInventory inv = new BInventory(plugin.getGui().getChestVoteURLName());
    if (plugin.getGui().getChestVoteURLViewAllUrlsButtonEnabled()) {
        ItemBuilder builderAll = getItemAll();
        inv.addButton(new UpdatingBInventoryButton(builderAll, 5000, 5000) {

            @Override
            public void onClick(ClickEvent event) {
                VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(event.getPlayer());
                json = true;
                user.sendMessage(getChat(player));
            }

            @Override
            public ItemBuilder onUpdate(Player player) {
                return getItemAll();
            }
        });
    }
    int startSlot = plugin.getGui().getChestVoteURLAllUrlsButtonStartSlot();
    for (final VoteSite voteSite : plugin.getVoteSites()) {
        if (!voteSite.isHidden()) {
            ItemBuilder builder = getItemVoteSite(voteSite);
            if (startSlot >= 0) {
                builder.setSlot(startSlot);
                startSlot++;
            }
            inv.addButton(new UpdatingBInventoryButton(builder, 5000, 5000) {

                @Override
                public void onClick(ClickEvent event) {
                    Player player = event.getPlayer();
                    if (player != null) {
                        VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(player);
                        user.sendMessage(StringParser.getInstance().replacePlaceHolder(StringParser.getInstance().replacePlaceHolder(StringParser.getInstance().replacePlaceHolder(plugin.getGui().getChestVoteURLURLText(), "voteurl", voteSite.getVoteURL()), "sitename", voteSite.getDisplayName()), "player", player.getName()));
                    }
                }

                @Override
                public ItemBuilder onUpdate(Player player) {
                    return getItemVoteSite(voteSite);
                }
            });
        }
    }
    for (final String str : plugin.getGui().getChestVoteURLExtraItems()) {
        inv.addButton(new BInventoryButton(new ItemBuilder(plugin.getGui().getChestVoteURLExtraItemsItem(str))) {

            @Override
            public void onClick(ClickEvent clickEvent) {
                new RewardBuilder(plugin.getGui().getData(), "CHEST.VoteURL.ExtraItems." + str + ".Rewards").setGiveOffline(false).send(clickEvent.getPlayer());
            }
        });
    }
    if (plugin.getGui().getChestVoteURLBackButton()) {
        inv.addButton(plugin.getCommandLoader().getBackButton(user));
    }
    inv.openInventory(player);
}
Also used : VoteSite(com.bencodez.votingplugin.objects.VoteSite) RewardBuilder(com.bencodez.advancedcore.api.rewards.RewardBuilder) UpdatingBInventoryButton(com.bencodez.advancedcore.api.inventory.UpdatingBInventoryButton) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) Player(org.bukkit.entity.Player) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) UpdatingBInventoryButton(com.bencodez.advancedcore.api.inventory.UpdatingBInventoryButton) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) BInventory(com.bencodez.advancedcore.api.inventory.BInventory) VotingPluginUser(com.bencodez.votingplugin.user.VotingPluginUser)

Example 14 with ClickEvent

use of com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent in project VotingPlugin by Ben12345rocks.

the class CommandLoader method getBackButton.

public BInventoryButton getBackButton(VotingPluginUser user) {
    ConfigurationSection sec = plugin.getGui().getCHESTBackButton();
    boolean a = false;
    ItemBuilder item;
    if (sec != null) {
        item = new ItemBuilder(sec);
        a = sec.getBoolean("OpenVoteURL", false);
    } else {
        item = new ItemBuilder(Material.BARRIER, 1).setName("&8Back to VoteGUI");
    }
    final boolean openVoteURL = a;
    BInventoryButton b = new BInventoryButton(item) {

        @Override
        public void onClick(ClickEvent event) {
            if (!openVoteURL) {
                new VoteGUI(plugin, event.getWhoClicked(), user).open(GUIMethod.valueOf(plugin.getGui().getGuiMethodGUI().toUpperCase()));
            } else {
                new VoteURL(plugin, event.getWhoClicked(), user, true).open();
            }
        }
    };
    // set item to end of the GUI
    if (sec != null && sec.getBoolean("EndOfGUI")) {
        b.setSlot(-2);
    }
    if (!plugin.getConfigFile().isAlwaysCloseInventory()) {
        b.dontClose();
    }
    return b;
}
Also used : ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) VoteGUI(com.bencodez.votingplugin.commands.gui.player.VoteGUI) VoteURL(com.bencodez.votingplugin.commands.gui.player.VoteURL) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) ConfigurationSection(org.bukkit.configuration.ConfigurationSection)

Example 15 with ClickEvent

use of com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent in project VotingPlugin by Ben12345rocks.

the class AdminGUI method openAdminGUIVoteSites.

/**
 * Open admin GUI vote sites.
 *
 * @param player the player
 */
public void openAdminGUIVoteSites(Player player) {
    BInventory inv = new BInventory("VoteSites");
    int count = 0;
    for (VoteSite voteSite : plugin.getVoteSites()) {
        ArrayList<String> lore = new ArrayList<String>();
        lore.add("Priority: " + voteSite.getPriority());
        lore.add("Name: " + voteSite.getDisplayName());
        lore.add("ServiceSite: " + voteSite.getServiceSite());
        lore.add("VoteURL: " + voteSite.getVoteURL());
        lore.add("VoteDelay: " + voteSite.getVoteDelay());
        lore.add("VoteDelayMin: " + voteSite.getVoteDelayMin());
        inv.addButton(count, new BInventoryButton(voteSite.getKey(), ArrayUtils.getInstance().convert(lore), new ItemStack(Material.STONE)) {

            @Override
            public void onClick(ClickEvent event) {
                Player player = event.getWhoClicked();
                openAdminGUIVoteSiteSite(player, voteSite);
            }
        });
        count++;
    }
    inv.openInventory(player);
}
Also used : VoteSite(com.bencodez.votingplugin.objects.VoteSite) Player(org.bukkit.entity.Player) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) ArrayList(java.util.ArrayList) BInventory(com.bencodez.advancedcore.api.inventory.BInventory) EditGUIValueString(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString) ItemStack(org.bukkit.inventory.ItemStack)

Aggregations

ClickEvent (com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent)29 ItemBuilder (com.bencodez.advancedcore.api.item.ItemBuilder)26 BInventoryButton (com.bencodez.advancedcore.api.inventory.BInventoryButton)25 BInventory (com.bencodez.advancedcore.api.inventory.BInventory)23 Player (org.bukkit.entity.Player)19 VoteSite (com.bencodez.votingplugin.objects.VoteSite)9 ArrayList (java.util.ArrayList)8 UpdatingBInventoryButton (com.bencodez.advancedcore.api.inventory.UpdatingBInventoryButton)6 EditGUIValueString (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString)5 ValueRequest (com.bencodez.advancedcore.api.valuerequest.ValueRequest)5 VotingPluginUser (com.bencodez.votingplugin.user.VotingPluginUser)5 EditGUI (com.bencodez.advancedcore.api.inventory.editgui.EditGUI)4 ValueRequestBuilder (com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder)4 StringListener (com.bencodez.advancedcore.api.valuerequest.listeners.StringListener)4 EditGUIButton (com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton)3 EditGUIValueList (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueList)3 EditGUIValueNumber (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber)3 RewardOptions (com.bencodez.advancedcore.api.rewards.RewardOptions)3 NumberListener (com.bencodez.advancedcore.api.valuerequest.listeners.NumberListener)3 RewardEditGUI (com.bencodez.advancedcore.command.gui.RewardEditGUI)3