Search in sources :

Example 1 with ValueRequestBuilder

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

the class AdminGUI method openAdminGUIVoteSiteSite.

/**
 * Open admin GUI vote site site.
 *
 * @param player   the player
 * @param voteSite the vote site
 */
public void openAdminGUIVoteSiteSite(Player player, VoteSite voteSite) {
    EditGUI inv = new EditGUI("VoteSite: " + voteSite.getDisplayName());
    inv.setMeta(player, "VoteSite", voteSite);
    inv.addButton(new BInventoryButton(voteSite.getItem().setName("&cForce vote")) {

        @Override
        public void onClick(ClickEvent event) {
            ArrayList<String> playerNames = new ArrayList<String>();
            for (Player p : Bukkit.getOnlinePlayers()) {
                playerNames.add(p.getName());
            }
            new ValueRequestBuilder(new StringListener() {

                @Override
                public void onInput(Player player, String value) {
                    Object ob = PlayerUtils.getInstance().getPlayerMeta(player, "VoteSite");
                    if (ob != null) {
                        VoteSite site = (VoteSite) ob;
                        PlayerVoteEvent voteEvent = new PlayerVoteEvent(site, value, site.getServiceSite(), false);
                        plugin.getServer().getPluginManager().callEvent(voteEvent);
                    }
                }
            }, ArrayUtils.getInstance().convert(playerNames)).usingMethod(InputMethod.INVENTORY).allowCustomOption(true).request(event.getWhoClicked());
        }
    });
    inv.addButton(new EditGUIButton(new EditGUIValueNumber("Priority", voteSite.getPriority()) {

        @Override
        public void setValue(Player player, Number num) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            plugin.getConfigVoteSites().setPriority(voteSite.getKey(), num.intValue());
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueString("ServiceSite", voteSite.getServiceSite()) {

        @Override
        public void setValue(Player player, String value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setServiceSite(siteName, value);
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueString("Name", voteSite.getDisplayName()) {

        @Override
        public void setValue(Player player, String value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            plugin.getConfigVoteSites().setDisplayName(voteSite.getKey(), value);
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueString("VoteURL", voteSite.getVoteURL()) {

        @Override
        public void setValue(Player player, String value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setVoteURL(siteName, value);
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueNumber("VoteDelay", voteSite.getVoteDelay()) {

        @Override
        public void setValue(Player player, Number num) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setVoteDelay(siteName, num.intValue());
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueNumber("VoteDelayMin", voteSite.getVoteDelay()) {

        @Override
        public void setValue(Player player, Number num) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setVoteDelay(siteName, num.intValue());
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueBoolean("Enabled", voteSite.isEnabled()) {

        @Override
        public void setValue(Player player, boolean value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setEnabled(siteName, value);
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueBoolean("ForceOffline", voteSite.isGiveOffline()) {

        @Override
        public void setValue(Player player, boolean value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setForceOffline(siteName, value);
            plugin.reload();
        }
    }));
    inv.addButton(new EditGUIButton(new EditGUIValueBoolean("VoteDelayDaily", voteSite.isVoteDelayDaily()) {

        @Override
        public void setValue(Player player, boolean value) {
            VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
            String siteName = voteSite.getKey();
            plugin.getConfigVoteSites().setVoteDelayDaily(siteName, value);
            plugin.reload();
        }
    }));
    if (voteSite.getSiteData().isList("Rewards")) {
        inv.addButton(new EditGUIButton(new EditGUIValueList("Rewards", voteSite.getSiteData().getStringList("Rewards")) {

            @Override
            public void setValue(Player p, ArrayList<String> rewards) {
                VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
                plugin.getConfigVoteSites().set(voteSite.getKey(), "Rewards", rewards);
                plugin.reload();
            }
        }));
    } else {
        inv.addButton(new BInventoryButton(new ItemBuilder(Material.DISPENSER, 1).setName("&cRewards")) {

            @Override
            public void onClick(ClickEvent clickEvent) {
                RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("VoteSites." + voteSite.getKey() + ".Rewards"));
            }
        });
    }
    inv.openInventory(player);
}
Also used : EditGUI(com.bencodez.advancedcore.api.inventory.editgui.EditGUI) RewardEditGUI(com.bencodez.advancedcore.command.gui.RewardEditGUI) Player(org.bukkit.entity.Player) EditGUIValueBoolean(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueBoolean) 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) EditGUIValueString(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString) ValueRequestBuilder(com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder) VoteSite(com.bencodez.votingplugin.objects.VoteSite) PlayerVoteEvent(com.bencodez.votingplugin.events.PlayerVoteEvent) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) EditGUIValueList(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueList) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber) EditGUIButton(com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber) StringListener(com.bencodez.advancedcore.api.valuerequest.listeners.StringListener)

Example 2 with ValueRequestBuilder

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

the class AdminVoteVoteParty method onChest.

@Override
public void onChest(Player player) {
    EditGUI inv = new EditGUI("Edit VoteParty");
    inv.requirePermission("VotingPlugin.Commands.AdminVote.Edit.VoteParty");
    // to add
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("Enabled", plugin.getSpecialRewardsConfig().getVotePartyEnabled()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.EMERALD, 1), new EditGUIValueNumber("VotesRequired", plugin.getSpecialRewardsConfig().getVotePartyVotesRequired()) {

        @Override
        public void setValue(Player player, Number num) {
            setPathData(getKey(), num.intValue());
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.LADDER, 1), new EditGUIValueNumber("IncreaseVotesRquired", plugin.getSpecialRewardsConfig().getVotePartyIncreaseVotesRquired()) {

        @Override
        public void setValue(Player player, Number num) {
            setPathData(getKey(), num.intValue());
        }
    }));
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.LADDER).setName("&cCurrent increase amount").addLoreLine("&cCurrent value: " + plugin.getServerData().getVotePartyExtraRequired())) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            new ValueRequestBuilder(new NumberListener() {

                @Override
                public void onInput(Player player, Number value) {
                    plugin.getServerData().setVotePartyExtraRequired(value.intValue());
                }
            }, new Number[] { 0, 10, 50, 100 }).currentValue("" + plugin.getServerData().getVotePartyExtraRequired()).allowCustomOption(true).request(clickEvent.getPlayer());
        }
    });
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.EMERALD, 1), new EditGUIValueNumber("UserVotesRequired", plugin.getSpecialRewardsConfig().getVotePartyUserVotesRequired()) {

        @Override
        public void setValue(Player player, Number num) {
            setPathData(getKey(), num.intValue());
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("GiveAllPlayers", plugin.getSpecialRewardsConfig().getVotePartyGiveAllPlayers()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("GiveOnlinePlayersOnly", plugin.getSpecialRewardsConfig().isVotePartyGiveOnlinePlayersOnly()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("ResetEachDay", plugin.getSpecialRewardsConfig().getVotePartyResetEachDay()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("ResetWeekly", plugin.getSpecialRewardsConfig().getVotePartyResetWeekly()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("ResetMonthly", plugin.getSpecialRewardsConfig().getVotePartyResetMontly()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("OnlyOncePerDay", plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("ResetExtraVotesMonthly", plugin.getSpecialRewardsConfig().isVotePartyResetExtraVotesMonthly()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("CountFakeVotes", plugin.getSpecialRewardsConfig().getVotePartyCountFakeVotes()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueBoolean("CountOfflineVotes", plugin.getSpecialRewardsConfig().getVotePartyCountOfflineVotes()) {

        @Override
        public void setValue(Player player, boolean name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueString("Broadcast", plugin.getSpecialRewardsConfig().getVotePartyBroadcast()) {

        @Override
        public void setValue(Player player, String name) {
            setPathData(getKey(), name);
        }
    }));
    inv.addButton(new EditGUIButton(new ItemBuilder(Material.PAPER, 1), new EditGUIValueList("Commands", plugin.getSpecialRewardsConfig().getVotePartyCommands()) {

        @Override
        public void setValue(Player player, ArrayList<String> value) {
            setPathData(getKey(), value);
        }
    }));
    inv.addButton(new BInventoryButton(new ItemBuilder(Material.DISPENSER, 1).setName("&cRewards").addLoreLine("&aUse this for per player rewards, also set online only rewards here as well").addLoreLine("&cTo set rewards to be given to players online only, set RewardType to ONLINE")) {

        @Override
        public void onClick(ClickEvent clickEvent) {
            RewardEditGUI.getInstance().openRewardGUI(clickEvent.getPlayer(), RewardHandler.getInstance().getDirectlyDefined("VoteParty.Rewards"));
        }
    });
    // implement item reward?
    inv.openInventory(player);
}
Also used : EditGUI(com.bencodez.advancedcore.api.inventory.editgui.EditGUI) RewardEditGUI(com.bencodez.advancedcore.command.gui.RewardEditGUI) EditGUIValueBoolean(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueBoolean) Player(org.bukkit.entity.Player) 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) EditGUIValueString(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString) ValueRequestBuilder(com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) NumberListener(com.bencodez.advancedcore.api.valuerequest.listeners.NumberListener) EditGUIValueList(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueList) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber) EditGUIButton(com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber)

Example 3 with ValueRequestBuilder

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

use of com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder 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)

Aggregations

ClickEvent (com.bencodez.advancedcore.api.inventory.BInventory.ClickEvent)4 BInventoryButton (com.bencodez.advancedcore.api.inventory.BInventoryButton)4 ItemBuilder (com.bencodez.advancedcore.api.item.ItemBuilder)4 ValueRequestBuilder (com.bencodez.advancedcore.api.valuerequest.ValueRequestBuilder)4 ArrayList (java.util.ArrayList)4 Player (org.bukkit.entity.Player)4 NumberListener (com.bencodez.advancedcore.api.valuerequest.listeners.NumberListener)3 BInventory (com.bencodez.advancedcore.api.inventory.BInventory)2 EditGUI (com.bencodez.advancedcore.api.inventory.editgui.EditGUI)2 EditGUIButton (com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton)2 EditGUIValueBoolean (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueBoolean)2 EditGUIValueList (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueList)2 EditGUIValueNumber (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber)2 EditGUIValueString (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueString)2 ValueRequest (com.bencodez.advancedcore.api.valuerequest.ValueRequest)2 RewardEditGUI (com.bencodez.advancedcore.command.gui.RewardEditGUI)2 StringListener (com.bencodez.advancedcore.api.valuerequest.listeners.StringListener)1 PlayerVoteEvent (com.bencodez.votingplugin.events.PlayerVoteEvent)1 VoteSite (com.bencodez.votingplugin.objects.VoteSite)1