Search in sources :

Example 1 with TopVoterHandler

use of com.bencodez.votingplugin.topvoter.TopVoterHandler in project VotingPlugin by Ben12345rocks.

the class VotingPluginMain method onPostLoad.

@Override
public void onPostLoad() {
    loadVersionFile();
    getOptions().setServer(bungeeSettings.getServer());
    if (bungeeSettings.isUseBungeecoord()) {
        bungeeHandler = new BungeeHandler(this);
        bungeeHandler.load();
        if (getOptions().getServer().equalsIgnoreCase("PleaseSet")) {
            getLogger().warning("Bungeecoord is true and server name is not set, bungeecoord features may not work");
        }
    }
    registerCommands();
    checkVotifier();
    registerEvents();
    loadDirectlyDefined();
    checkUpdate = new CheckUpdate(this);
    checkUpdate.startUp();
    voteReminding = new VoteReminding(this);
    voteReminding.loadRemindChecking();
    specialRewards = new SpecialRewards(this);
    signs = new Signs(this);
    coolDownCheck.checkEnabled();
    coolDownCheck.load();
    Bukkit.getScheduler().runTask(plugin, new Runnable() {

        @Override
        public void run() {
            signs.loadSigns();
        }
    });
    topVoterHandler = new TopVoterHandler(this);
    lastMonthTopVoter = new LinkedHashMap<TopVoterPlayer, Integer>();
    Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {

        @Override
        public void run() {
            topVoterHandler.loadLastMonth();
            debug("Loaded last month top voters");
        }
    });
    topVoter = new LinkedHashMap<TopVoter, LinkedHashMap<TopVoterPlayer, Integer>>();
    for (TopVoter top : TopVoter.values()) {
        topVoter.put(top, new LinkedHashMap<TopVoterPlayer, Integer>());
    }
    voteToday = new LinkedHashMap<TopVoterPlayer, HashMap<VoteSite, LocalDateTime>>();
    voteLog = new Logger(plugin, new File(plugin.getDataFolder() + File.separator + "Log", "votelog.txt"));
    new AdminGUI(this).loadHook();
    // vote party
    voteParty = new VoteParty(this);
    voteParty.register();
    topVoterHandler.register();
    metrics();
    // javascript api
    getJavascriptEngineRequests().add(new JavascriptPlaceholderRequest("User") {

        @Override
        public Object getObject(OfflinePlayer player) {
            return getVotingPluginUserManager().getVotingPluginUser(player);
        }
    });
    getJavascriptEngine().put("VotingPluginHooks", VotingPluginHooks.getInstance());
    loadTimer();
    // placeholderapi loading
    placeholders = new PlaceHolders(this);
    placeholders.load();
    if (Bukkit.getPluginManager().isPluginEnabled("MVdWPlaceholderAPI")) {
        mvdwPlaceholders = new MVdWPlaceholders(this);
        mvdwPlaceholders.loadMVdWPlaceholders();
    }
    // Add rewards
    RewardHandler.getInstance().addInjectedReward(new RewardInjectInt("Points", 0) {

        @Override
        public String onRewardRequest(Reward reward, com.bencodez.advancedcore.api.user.AdvancedCoreUser user, int num, HashMap<String, String> placeholders) {
            UserManager.getInstance().getVotingPluginUser(user).addPoints(num);
            return null;
        }
    }.synchronize().addEditButton(new EditGUIButton(new ItemBuilder(Material.PAPER), new EditGUIValueNumber("Points", null) {

        @Override
        public void setValue(Player player, Number value) {
            RewardEditData reward = (RewardEditData) getInv().getData("Reward");
            reward.setValue("Points", value.intValue());
        }
    }.addLore("Give player voting points"))).validator(new RewardInjectValidator() {

        @Override
        public void onValidate(Reward reward, RewardInject inject, ConfigurationSection data) {
            if (data.getInt(inject.getPath(), -1) == 0) {
                warning(reward, inject, "Points can not be 0");
            }
        }
    }));
    RewardHandler.getInstance().addInjectedReward(new RewardInjectConfigurationSection("VoteBossBar") {

        @Override
        public String onRewardRequested(Reward arg0, com.bencodez.advancedcore.api.user.AdvancedCoreUser user, ConfigurationSection section, HashMap<String, String> placeholders) {
            if (section.getBoolean("Enabled")) {
                user.sendBossBar(StringParser.getInstance().replacePlaceHolder(section.getString("Message", ""), placeholders), section.getString("Color", "BLUE"), section.getString("Style", "SOLID"), (double) UserManager.getInstance().getVotingPluginUser(user).getSitesVotedOn() / plugin.getVoteSites().size(), section.getInt("Delay", 30));
            }
            return null;
        }
    });
    for (final TopVoter top : TopVoter.values()) {
        RewardHandler.getInstance().addPlaceholder(new RewardPlaceholderHandle("Total_" + top.toString()) {

            @Override
            public String getValue(Reward reward, com.bencodez.advancedcore.api.user.AdvancedCoreUser user) {
                VotingPluginUser vUser = UserManager.getInstance().getVotingPluginUser(user);
                return "" + vUser.getTotal(top);
            }
        });
    }
    if (plugin.getConfigFile().isFormatAlternateBroadcastEnabled()) {
        broadcastHandler = new BroadcastHandler(plugin, plugin.getConfigFile().getFormatAlternateBroadcastDelay());
        plugin.debug("Using alternate broadcast method");
    }
    plugin.getLogger().info("Enabled VotingPlugin " + plugin.getDescription().getVersion());
    if (getProfile().contains("dev")) {
        plugin.getLogger().info("Using dev build, this is not a stable build, use at your own risk. Build number: " + buildNumber);
    }
    boolean hasRewards = RewardHandler.getInstance().hasRewards(getConfigVoteSites().getData(), getConfigVoteSites().getEverySiteRewardPath());
    boolean issues = true;
    ArrayList<String> services = serverData.getServiceSites();
    for (VoteSite site : getVoteSites()) {
        if (!site.hasRewards() && !hasRewards) {
            issues = false;
            plugin.getLogger().warning("No rewards detected for the site: " + site.getKey() + ". See https://github.com/BenCodez/VotingPlugin/wiki/Rewards");
        }
        boolean contains = false;
        for (String service : services) {
            if (service.equalsIgnoreCase(site.getServiceSite())) {
                contains = true;
            }
        }
        if (!contains) {
            issues = false;
            plugin.getLogger().warning("No vote has been recieved from " + site.getServiceSite() + ", may be an invalid service site. Please read: https://github.com/BenCodez/VotingPlugin/wiki/Votifier-Troubleshooting");
        }
    }
    if (!issues) {
        Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {

            @Override
            public void run() {
                plugin.getLogger().warning("Detected an issue with voting sites, check the server startup log for more details: https://github.com/BenCodez/VotingPlugin/wiki/Votifier-Troubleshooting");
            }
        }, 30l);
    }
}
Also used : HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) VoteReminding(com.bencodez.votingplugin.votereminding.VoteReminding) PlaceHolders(com.bencodez.votingplugin.placeholders.PlaceHolders) LinkedHashMap(java.util.LinkedHashMap) OfflinePlayer(org.bukkit.OfflinePlayer) AdminGUI(com.bencodez.votingplugin.commands.gui.AdminGUI) RewardPlaceholderHandle(com.bencodez.advancedcore.api.rewards.RewardPlaceholderHandle) VoteParty(com.bencodez.votingplugin.voteparty.VoteParty) TopVoterPlayer(com.bencodez.votingplugin.topvoter.TopVoterPlayer) Player(org.bukkit.entity.Player) OfflinePlayer(org.bukkit.OfflinePlayer) TopVoterPlayer(com.bencodez.votingplugin.topvoter.TopVoterPlayer) RewardInjectInt(com.bencodez.advancedcore.api.rewards.injected.RewardInjectInt) MVdWPlaceholders(com.bencodez.votingplugin.placeholders.MVdWPlaceholders) ItemBuilder(com.bencodez.advancedcore.api.item.ItemBuilder) CheckUpdate(com.bencodez.votingplugin.updater.CheckUpdate) EditGUIButton(com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber) File(java.io.File) ConfigurationSection(org.bukkit.configuration.ConfigurationSection) RewardInjectConfigurationSection(com.bencodez.advancedcore.api.rewards.injected.RewardInjectConfigurationSection) VotingPluginUser(com.bencodez.votingplugin.user.VotingPluginUser) Logger(com.bencodez.advancedcore.logger.Logger) VoteSite(com.bencodez.votingplugin.objects.VoteSite) TopVoterHandler(com.bencodez.votingplugin.topvoter.TopVoterHandler) EditGUIValueNumber(com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber) TopVoter(com.bencodez.votingplugin.topvoter.TopVoter) RewardInjectValidator(com.bencodez.advancedcore.api.rewards.injected.RewardInjectValidator) SpecialRewards(com.bencodez.votingplugin.specialrewards.SpecialRewards) JavascriptPlaceholderRequest(com.bencodez.advancedcore.api.javascript.JavascriptPlaceholderRequest) Signs(com.bencodez.votingplugin.signs.Signs) RewardEditData(com.bencodez.advancedcore.api.rewards.RewardEditData) RewardInjectConfigurationSection(com.bencodez.advancedcore.api.rewards.injected.RewardInjectConfigurationSection) RewardInject(com.bencodez.advancedcore.api.rewards.injected.RewardInject) DirectlyDefinedReward(com.bencodez.advancedcore.api.rewards.DirectlyDefinedReward) Reward(com.bencodez.advancedcore.api.rewards.Reward) BroadcastHandler(com.bencodez.votingplugin.broadcast.BroadcastHandler)

Aggregations

EditGUIButton (com.bencodez.advancedcore.api.inventory.editgui.EditGUIButton)1 EditGUIValueNumber (com.bencodez.advancedcore.api.inventory.editgui.valuetypes.EditGUIValueNumber)1 ItemBuilder (com.bencodez.advancedcore.api.item.ItemBuilder)1 JavascriptPlaceholderRequest (com.bencodez.advancedcore.api.javascript.JavascriptPlaceholderRequest)1 DirectlyDefinedReward (com.bencodez.advancedcore.api.rewards.DirectlyDefinedReward)1 Reward (com.bencodez.advancedcore.api.rewards.Reward)1 RewardEditData (com.bencodez.advancedcore.api.rewards.RewardEditData)1 RewardPlaceholderHandle (com.bencodez.advancedcore.api.rewards.RewardPlaceholderHandle)1 RewardInject (com.bencodez.advancedcore.api.rewards.injected.RewardInject)1 RewardInjectConfigurationSection (com.bencodez.advancedcore.api.rewards.injected.RewardInjectConfigurationSection)1 RewardInjectInt (com.bencodez.advancedcore.api.rewards.injected.RewardInjectInt)1 RewardInjectValidator (com.bencodez.advancedcore.api.rewards.injected.RewardInjectValidator)1 Logger (com.bencodez.advancedcore.logger.Logger)1 BroadcastHandler (com.bencodez.votingplugin.broadcast.BroadcastHandler)1 AdminGUI (com.bencodez.votingplugin.commands.gui.AdminGUI)1 VoteSite (com.bencodez.votingplugin.objects.VoteSite)1 MVdWPlaceholders (com.bencodez.votingplugin.placeholders.MVdWPlaceholders)1 PlaceHolders (com.bencodez.votingplugin.placeholders.PlaceHolders)1 Signs (com.bencodez.votingplugin.signs.Signs)1 SpecialRewards (com.bencodez.votingplugin.specialrewards.SpecialRewards)1