Search in sources :

Example 1 with ValueRequest

use of com.bencodez.advancedcore.api.valuerequest.ValueRequest in project VotingPlugin by Ben12345rocks.

the class CommandLoader method loadCommands.

/**
 * Load commands.
 */
public void loadCommands() {
    loadAdminVoteCommand();
    loadVoteCommand();
    Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {

        @Override
        public void run() {
            com.bencodez.advancedcore.thread.Thread.getInstance().run(new Runnable() {

                @Override
                public void run() {
                    loadTabComplete();
                    UserGUI.getInstance().addPluginButton(plugin, new BInventoryButton("Force Vote", new String[] {}, new ItemStack(Material.STONE)) {

                        @Override
                        public void onClick(ClickEvent clickEvent) {
                            Player player = clickEvent.getPlayer();
                            ArrayList<String> voteSites = new ArrayList<String>();
                            for (VoteSite voteSite : plugin.getVoteSites()) {
                                voteSites.add(voteSite.getKey());
                            }
                            new ValueRequest().requestString(player, "", ArrayUtils.getInstance().convert(voteSites), true, new StringListener() {

                                @Override
                                public void onInput(Player player, String value) {
                                    PlayerVoteEvent voteEvent = new PlayerVoteEvent(plugin.getVoteSite(value, true), UserGUI.getInstance().getCurrentPlayer(player), plugin.getVoteSiteServiceSite(value), false);
                                    plugin.getServer().getPluginManager().callEvent(voteEvent);
                                    player.sendMessage("Forced vote for " + UserGUI.getInstance().getCurrentPlayer(player) + " on " + value);
                                }
                            });
                        }
                    });
                    UserGUI.getInstance().addPluginButton(plugin, new BInventoryButton("MileStones", new String[0], new ItemStack(Material.STONE)) {

                        @Override
                        public void onClick(ClickEvent event) {
                            Player player = event.getWhoClicked();
                            String playerName = (String) event.getMeta(player, "Player");
                            BInventory inv = new BInventory("MileStones: " + playerName);
                            for (String mileStoneName : plugin.getSpecialRewardsConfig().getMilestoneVotes()) {
                                if (StringParser.getInstance().isInt(mileStoneName)) {
                                    int mileStone = Integer.parseInt(mileStoneName);
                                    inv.addButton(inv.getNextSlot(), new BInventoryButton("" + mileStone, new String[] { "Enabled: " + plugin.getSpecialRewardsConfig().getMilestoneRewardEnabled(mileStone), "&cClick to set wether this has been completed or not" }, new ItemStack(Material.STONE)) {

                                        @Override
                                        public void onClick(ClickEvent clickEvent) {
                                            if (StringParser.getInstance().isInt(clickEvent.getClickedItem().getItemMeta().getDisplayName())) {
                                                Player player = clickEvent.getPlayer();
                                                int mileStone = Integer.parseInt(clickEvent.getClickedItem().getItemMeta().getDisplayName());
                                                String playerName = (String) event.getMeta(player, "Player");
                                                VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(playerName);
                                                new ValueRequest().requestBoolean(player, "" + user.hasGottenMilestone(mileStone), new BooleanListener() {

                                                    @Override
                                                    public void onInput(Player player, boolean value) {
                                                        String playerName = UserGUI.getInstance().getCurrentPlayer(player);
                                                        VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(playerName);
                                                        user.setHasGotteMilestone(mileStone, value);
                                                        player.sendMessage("Set milestone completetion to " + value + " on " + mileStone);
                                                    }
                                                });
                                            }
                                        }
                                    });
                                }
                            }
                        }
                    });
                }
            });
        }
    });
}
Also used : Player(org.bukkit.entity.Player) AdminVotePlaceholdersPlayer(com.bencodez.votingplugin.commands.gui.admin.AdminVotePlaceholdersPlayer) AdminVoteVotePlayer(com.bencodez.votingplugin.commands.gui.admin.AdminVoteVotePlayer) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) ArrayList(java.util.ArrayList) ValueRequest(com.bencodez.advancedcore.api.valuerequest.ValueRequest) BInventory(com.bencodez.advancedcore.api.inventory.BInventory) VoteSite(com.bencodez.votingplugin.objects.VoteSite) VoteURLVoteSite(com.bencodez.votingplugin.commands.gui.player.VoteURLVoteSite) PlayerVoteEvent(com.bencodez.votingplugin.events.PlayerVoteEvent) BooleanListener(com.bencodez.advancedcore.api.valuerequest.listeners.BooleanListener) StringListener(com.bencodez.advancedcore.api.valuerequest.listeners.StringListener) ItemStack(org.bukkit.inventory.ItemStack) VotingPluginUser(com.bencodez.votingplugin.user.VotingPluginUser)

Example 2 with ValueRequest

use of com.bencodez.advancedcore.api.valuerequest.ValueRequest 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 3 with ValueRequest

use of com.bencodez.advancedcore.api.valuerequest.ValueRequest in project VotingPlugin by Ben12345rocks.

the class AdminGUI method adminGUIButtons.

/**
 * Open admin GUI.
 *
 * @return ArrayList of buttons
 */
public ArrayList<BInventoryButton> adminGUIButtons() {
    ArrayList<BInventoryButton> buttons = new ArrayList<BInventoryButton>();
    buttons.add(new BInventoryButton("&cVoteSites", new String[] { "&cOnly enabled sites are listed in this section", "&cMiddle Click to create" }, new ItemStack(Material.STONE)) {

        @Override
        public void onClick(ClickEvent event) {
            Player player = event.getPlayer();
            if (event.getClick().equals(ClickType.MIDDLE)) {
                new ValueRequest().requestString(player, new StringListener() {

                    @Override
                    public void onInput(Player player, String value) {
                        plugin.getConfigVoteSites().generateVoteSite(value);
                        player.sendMessage("Generated site");
                        plugin.reload();
                    }
                });
            } else {
                openAdminGUIVoteSites(player);
            }
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.CHEST, 1).setName("&cEdit VoteShop")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteVoteShop(plugin, clickEvent.getPlayer()).open(GUIMethod.CHEST);
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.DIAMOND_BLOCK, 1).setName("&cEdit Milestones")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteMilestones(plugin, clickEvent.getPlayer()).open(GUIMethod.CHEST);
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.COBBLESTONE, 1).setName("&cEdit Cumulative")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteCumulative(plugin, clickEvent.getPlayer()).open(GUIMethod.CHEST);
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit VoteParty")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteVoteParty(plugin, clickEvent.getPlayer()).open(GUIMethod.CHEST);
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit FirstVote reward")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("FirstVote"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit FirstVoteToday reward")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("FirstVoteToday"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit AllSites reward")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("AllSites"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit AnySiteRewards")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("AnySiteRewards"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit EverySiteReward")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("EverySiteReward"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder(Material.STONE, 1).setName("&cEdit BungeeVotePartyRewards")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("BungeeVotePartyRewards"));
        }
    });
    buttons.add(new BInventoryButton(new ItemBuilder("GRASS_BLOCK").setName("&cEdit BungeeSettings.yml")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteBungeeSettings(plugin, clickEvent.getPlayer()).open();
        }
    });
    buttons.add(new BInventoryButton("&cReload Plugin", new String[] {}, new ItemStack(Material.BUCKET, 1)) {

        @Override
        public void onClick(ClickEvent event) {
            plugin.reload();
        }
    });
    return buttons;
}
Also used : Player(org.bukkit.entity.Player) AdminVoteCumulative(com.bencodez.votingplugin.commands.gui.admin.cumulative.AdminVoteCumulative) BInventoryButton(com.bencodez.advancedcore.api.inventory.BInventoryButton) ClickEvent(com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent) ArrayList(java.util.ArrayList) EditGUIValueString(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString) ValueRequest(com.bencodez.advancedcore.api.valuerequest.ValueRequest) AdminVoteVoteParty(com.bencodez.votingplugin.commands.gui.admin.AdminVoteVoteParty) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) AdminVoteVoteShop(com.bencodez.votingplugin.commands.gui.admin.voteshop.AdminVoteVoteShop) AdminVoteMilestones(com.bencodez.votingplugin.commands.gui.admin.milestones.AdminVoteMilestones) AdminVoteBungeeSettings(com.bencodez.votingplugin.commands.gui.admin.AdminVoteBungeeSettings) StringListener(com.bencodez.advancedcore.api.valuerequest.listeners.StringListener) ItemStack(org.bukkit.inventory.ItemStack)

Example 4 with ValueRequest

use of com.bencodez.advancedcore.api.valuerequest.ValueRequest in project VotingPlugin by Ben12345rocks.

the class AdminVoteMilestones method onChest.

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

        @Override
        public void onClick(ClickEvent clickEvent) {
            ArrayList<Integer> nums = new ArrayList<Integer>();
            for (String num : plugin.getSpecialRewardsConfig().getMilestoneVotes()) {
                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("MileStones." + value.intValue() + ".Rewards"));
                }
            }, options).allowCustomOption(false).usingMethod(InputMethod.INVENTORY).request(clickEvent.getPlayer());
        }
    });
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.EMERALD_BLOCK).setName("&aAdd milestone")) {

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

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

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteMilestoneRemove(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 5 with ValueRequest

use of com.bencodez.advancedcore.api.valuerequest.ValueRequest in project VotingPlugin by Ben12345rocks.

the class AdminVoteVoteShop method onChest.

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

        @Override
        public void onClick(ClickEvent clickEvent) {
            new AdminVoteVoteShopItems(plugin, clickEvent.getPlayer()).open(GUIMethod.CHEST);
        }
    });
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.EMERALD_BLOCK).setName("&aAdd voteshop item")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new ValueRequest().requestString(player, new StringListener() {

                @Override
                public void onInput(Player player, String value) {
                    plugin.getGui().createShop(value);
                    plugin.reload();
                }
            });
        }
    });
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.REDSTONE_BLOCK).setName("&cRemove item")) {

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

Aggregations

ClickEvent (com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent)5 BInventoryButton (com.bencodez.advancedcore.api.inventory.BInventoryButton)5 ValueRequest (com.bencodez.advancedcore.api.valuerequest.ValueRequest)5 Player (org.bukkit.entity.Player)5 BInventory (com.bencodez.advancedcore.api.inventory.BInventory)4 ItemBuilder (com.bencodez.advancedcore.api.item.ItemBuilder)4 ArrayList (java.util.ArrayList)4 StringListener (com.bencodez.advancedcore.api.valuerequest.listeners.StringListener)3 ValueRequestBuilder (com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder)2 NumberListener (com.bencodez.advancedcore.api.valuerequest.listeners.NumberListener)2 ItemStack (org.bukkit.inventory.ItemStack)2 EditGUIValueString (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString)1 BooleanListener (com.bencodez.advancedcore.api.valuerequest.listeners.BooleanListener)1 AdminVoteBungeeSettings (com.bencodez.votingplugin.commands.gui.admin.AdminVoteBungeeSettings)1 AdminVotePlaceholdersPlayer (com.bencodez.votingplugin.commands.gui.admin.AdminVotePlaceholdersPlayer)1 AdminVoteVoteParty (com.bencodez.votingplugin.commands.gui.admin.AdminVoteVoteParty)1 AdminVoteVotePlayer (com.bencodez.votingplugin.commands.gui.admin.AdminVoteVotePlayer)1 AdminVoteCumulative (com.bencodez.votingplugin.commands.gui.admin.cumulative.AdminVoteCumulative)1 AdminVoteMilestones (com.bencodez.votingplugin.commands.gui.admin.milestones.AdminVoteMilestones)1 AdminVoteVoteShop (com.bencodez.votingplugin.commands.gui.admin.voteshop.AdminVoteVoteShop)1