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);
}
}
Aggregations