Compare commits

...
77 Commits
Author SHA1 Message Date
Ben12345rocks 5618d4b479 Update version number 2018-01-28 14:34:04 -05:00
Ben 898b2985e5 Merge pull request #339 from Ben12345rocks/5.12.2
5.12.2
2018-01-28 14:32:39 -05:00
Ben12345rocks cd7fa2cd39 Minor change 2018-01-28 13:55:43 -05:00
Ben12345rocks 62afcfc820 Add more debug 2018-01-24 17:28:17 -05:00
Ben12345rocks 12233d1061 Bug fix, closes #338 2018-01-22 16:51:44 -05:00
Ben12345rocks c2b3178f2e Bug fixes 2018-01-21 19:05:38 -05:00
Ben12345rocks 2e01c1eafd Bug fix 2018-01-21 15:07:19 -05:00
Ben12345rocks 384ace3013 Add option to clear cache on vote 2018-01-20 17:47:31 -05:00
Ben 2693874d99 Merge pull request #334 from Ben12345rocks/5.12.1
5.12.1
2018-01-14 20:25:23 -05:00
Ben12345rocks f5b780453c Update build path 2018-01-14 20:25:06 -05:00
Ben12345rocks 7a7bb93091 Update version number 2018-01-14 20:19:40 -05:00
Ben12345rocks 8933dac0db Add option to UseSSL, closes #337 2018-01-14 19:43:42 -05:00
Ben12345rocks 822e0a5766 Closes #336 2018-01-14 13:16:57 -05:00
Ben12345rocks e1fdc5cd6b Use new api 2018-01-13 14:35:02 -05:00
Ben12345rocks 3b0451b348 Improving checking of valid service sites 2018-01-07 13:26:47 -05:00
Ben12345rocks 4de380318f Add ability to disable checking names on mojang 2018-01-05 17:55:54 -05:00
Ben12345rocks 1c7afc8bb3 Bug fix 2018-01-01 15:30:26 -05:00
Ben12345rocks 7b15289c43 Bug fix 2017-12-31 13:23:44 -05:00
Ben12345rocks 241746fdf0 Update build path 2017-12-21 19:40:50 -05:00
Ben 37932f570e Merge pull request #322 from Ben12345rocks/5.12
5.12
2017-12-21 19:39:41 -05:00
Ben12345rocks 1c834a480f Other changes 2017-12-21 19:31:51 -05:00
Ben12345rocks 6a0d74f400 Update version number 2017-12-18 20:13:52 -05:00
Ben12345rocks feed85d9bb Add support for player name in vote url 2017-12-18 16:46:30 -05:00
Ben12345rocks f9b4adf342 Back to beta version 2017-12-17 16:35:13 -05:00
Ben12345rocks a04b9b996d Update version number 2017-12-17 15:45:51 -05:00
Ben12345rocks 4992c547ed Add an option to add totals 2017-12-17 15:27:54 -05:00
Ben12345rocks d5c1f3bf11 Some improvements to top voter files 2017-12-17 15:17:10 -05:00
Ben12345rocks b82736e933 More performance boosts 2017-12-17 13:59:00 -05:00
Ben12345rocks d0d1e262c2 Performance changes 2017-12-17 13:55:03 -05:00
Ben12345rocks 0b0dea8f51 Bug fixes 2017-12-16 14:40:05 -05:00
Ben12345rocks 48e1298b73 Allow top voter ties 2017-12-16 12:54:44 -05:00
Ben12345rocks 8d850dde7e Add command to reset offline rewards/votes 2017-12-14 20:00:30 -05:00
Ben12345rocks 963ff8b5f2 Add an option to reset vote party monthly 2017-12-11 19:33:56 -05:00
Ben12345rocks 5a871656c5 Add beta build version 2017-12-10 17:13:22 -05:00
Ben12345rocks 011e18ff9d Remove debug 2017-12-10 17:11:58 -05:00
Ben12345rocks 53f9b2c9f8 Major improvements 2017-12-10 17:07:11 -05:00
Ben12345rocks fe488158df Bug fix 2017-12-10 15:15:08 -05:00
Ben12345rocks 699bb1bdf6 Rename a config option to avoid confusion 2017-12-10 14:58:56 -05:00
Ben12345rocks f9c8b8a719 Generate item section for a vote site 2017-12-10 14:40:12 -05:00
Ben12345rocks 242eceda2c Fix typo 2017-12-10 14:17:46 -05:00
Ben12345rocks 98cd79684e Minor improvements 2017-12-10 14:16:13 -05:00
Ben12345rocks 5b4f73dadf Small api improvement 2017-12-09 20:12:40 -05:00
Ben12345rocks a8113aa941 Add new events 2017-12-09 20:09:29 -05:00
Ben12345rocks f741dbf6a7 Add last month total, closes #317 2017-12-05 18:59:25 -05:00
Ben12345rocks f589817301 Add ability to execute console commands once for vote party, closes #316 2017-12-03 13:21:36 -05:00
Ben12345rocks 27874ecb70 Fixed wrong month showing in top voter monthly files 2017-12-03 13:12:00 -05:00
Ben12345rocks 73726123ae Update build path 2017-11-19 15:56:33 -05:00
Ben 0a7637f04b Merge pull request #312 from Ben12345rocks/5.11
5.11
2017-11-19 15:36:35 -05:00
Ben12345rocks c4d3068895 Update version number 2017-11-19 15:25:05 -05:00
Ben12345rocks c497d338f9 Minor improvement 2017-11-19 15:23:29 -05:00
Ben12345rocks 9140466e02 Lots of improvements, closes #306 2017-11-19 14:28:42 -05:00
Ben12345rocks 2d6b1ebd33 Add ability to edit url text from vote url gui 2017-11-13 21:04:22 -05:00
Ben12345rocks d0ff76e9c4 Add permission to ignore vote reminding 2017-11-13 20:58:57 -05:00
Ben12345rocks 6ff6b14c2d Bug fixes, closes #303 2017-10-29 12:45:12 -04:00
Ben12345rocks 198dffe5df Javadoc fixes 2017-10-22 15:51:27 -04:00
Ben12345rocks 868a755d86 Bug fixes 2017-10-22 15:48:30 -04:00
Ben12345rocks 9f4c6bf250 Update build path 2017-10-22 15:28:15 -04:00
Ben 655cec2bac Merge pull request #299 from Ben12345rocks/5.10.5
5.10.5
2017-10-22 15:24:41 -04:00
Ben12345rocks 9fc0b2c9a3 Bug fix 2017-10-22 14:58:02 -04:00
Ben12345rocks 5aa396cc67 Lots of bug fixes, added purging 2017-10-22 14:51:54 -04:00
Ben12345rocks d11b90fabd Update version number 2017-10-22 12:27:05 -04:00
Ben12345rocks bc85b88c27 Improve update message. 2017-10-22 12:26:18 -04:00
Ben12345rocks a9e110f21f Made /vote party say its disabled when disabled 2017-10-20 21:05:50 -04:00
Ben12345rocks aa4622437f Bug fix 2017-10-20 21:01:55 -04:00
Ben12345rocks 46eb548962 Bug fixes 2017-10-20 14:49:29 -04:00
Ben12345rocks 25b3494dc5 Bug fixes 2017-10-19 21:55:59 -04:00
Ben12345rocks 33602b3ed2 Bug fixes 2017-10-19 20:34:21 -04:00
Ben12345rocks 36662ab18d Bug fixes 2017-10-19 15:48:05 -04:00
Ben12345rocks 40473b14a2 Bug fixes 2017-10-19 15:07:38 -04:00
Ben12345rocks 6ca6529f2c Improvements 2017-10-19 13:42:04 -04:00
Ben12345rocks a6b2945b14 More improvements 2017-10-19 11:51:11 -04:00
Ben12345rocks b5fc7da7c9 Lots of command improvements 2017-10-19 11:48:23 -04:00
Ben12345rocks 41104be50f Minor bug fix 2017-10-16 21:56:10 -04:00
Ben12345rocks e2dabbb8c1 Update build path 2017-10-16 21:38:50 -04:00
Ben12345rocks 5f37262a48 Update build path 2017-10-16 21:37:59 -04:00
Ben12345rocks efd48a1005 Add download completion message, closes #296 2017-10-16 21:36:54 -04:00
Ben12345rocks a813172c43 Bug fix 2017-10-14 08:17:54 -04:00
29 changed files with 1226 additions and 1137 deletions

No files matched your search

+33 -13
View File
@@ -23,6 +23,9 @@ MySQL:
# -1 for no limit
# Affecting this value may affect performance
MaxSize: -1
# Table name prefix, for use with mutliple servers
Prefix: ''
#UseSSL: true
# Let players who never joined before vote
# Recommend: False (Will prevent creating random user data files)
@@ -260,7 +263,7 @@ Format:
# Shop messages when using the /vote shop
ShopPurchase: '&aYou bought the %Identifier% for %Points% Points!'
ShopFailed: '&cYou do not have %Points% points to purhcase this!'
ShopFailed: '&cYou do not have %Points% points to purchase this!'
# User not exist message, from commands such as /vote next (player)
UserNotExist: '&cUser does not exist: %player%'
@@ -341,15 +344,6 @@ GUI:
Amount: 1
Name: '&4Vote Shop'
Slot: 6
# /vote Reward gui item
# Uncomment to use, most likely will be unused
#Rewards:
# Item:
# Material: 'DIAMOND'
# Data: 0
# Amount: 1
# Name: '&4Voting Rewards'
# Slot: 7
# GUI for /vote url
# And /vote if enabled in Config.yml
@@ -384,6 +378,7 @@ GUI:
Material: 'EMERALD_BLOCK'
Data: 0
Amount: 1
URLText: '%VoteUrl%'
# Customize /vote reward
# Show players what you get when you vote on each site
VoteReward:
@@ -606,12 +601,16 @@ VoteParty:
GiveAllPlayers: false
# If true, the vote count will reset each day
ResetEachDay: false
# Reset at the end of the month
ResetMonthly: false
# Count votes from /av vote?
CountFakeVotes: true
# Number of user votes that apply to vote party total the user needs to get rewards
UserVotesRequired: 0
# Broadcast when vote party reached
Broadcast: '&cReached the vote party amount!'
# List of commands to execute, these only execute once.
Commands: []
# Reward files to give
Rewards: []
@@ -668,6 +667,7 @@ VoteStreak:
# IT WILL ONLY RUN ONE TIME FOR ANY NUMBER OF OFFLINE VOTES
# Any reward files listed here are ran on vote of any site
# It is recommended to add rewards to each site instead of here
# Using forceoffline won't work here
AnySiteRewards: []
@@ -751,9 +751,13 @@ DailyAwards:
# Set to 0 to give no points
PointsOnVote: 1
# Wether or not to check on world change
# Should only be used if you do per world rewards
CheckOnWorldChange: false
# Set this to false to disable the plugin adding totals
# Not really recommended
AddTotals: true
# Disable checking on world change
# May improve performance
DisableCheckOnWorldChange: false
# Debug
Debug: false
@@ -794,6 +798,11 @@ DelayBetweenUpdates: 3
# Clear cache on update, setting to true reduces performance
ClearCacheOnUpdate: false
# Clears cache for the player who voted only
# Only effects if using mysql
# Would recommend for some bungee setups
ClearCacheOnVote: false
# Set to true to disable no service site message on voting
# You should never have to touch this if everything is setup properly
# Will also disable a few other warnings about vote sites
@@ -813,3 +822,14 @@ CountFakeVotes: true
# Give VotingPlugin.Player by default
# Requires restart to take affect
GiveDefaultPermission: true
# Remove old player files
# Happens on startup or /av purge
PurgeOldData: false
# Minimum number of days offline in order to purge
PurgeMin: 90
# Whether or not to disable checking names on mojang, disable if you hit the rate limit
# Shouldn't make a noticeable impact if set to false
CheckNameMojang: true
+12 -4
View File
@@ -31,18 +31,26 @@ VoteSites:
# Reset vote delay each day (for certain sites that do this)
VoteDelayDaily: false
# If true, rewards can be executed offline (required ForceOffline to be true in the reward)
GiveOffline: false
# If true, rewards can be executed offline (requires ForceOffline to be true in the reward)
# Setting this to true will execute the reward offline, NOT WHEN THE PLAYER IS OFFLINE
# This basiclly disables offline voting if set to true, don't misinterpret this option
ForceOffline: false
# VoteSite Material for GUI's
# Removing this may result in an error, required on each site
Item:
Material: 'DIAMOND'
Amount: 1
# List of reward files to give to voter
# Rewards to give
# https://github.com/Ben12345rocks/AdvancedCore/wiki/Rewards
Rewards:
- 'ExampleReward'
Commands:
- 'say hello'
Messages:
Player: 'You voted'
# Reward for any site
# Similar to AnySiteReward
# This requires the site to be configured in order to get the reward.
EverySiteReward: []
+6
View File
@@ -180,6 +180,9 @@ commands:
adminvoteForceTimeChanged:
description: Command Alias
aliases: avForceTimeChanged
adminvoteplayername:
description: Command Alias
aliases: avplayername
permissions:
VotingPlugin.Player:
description: Allows basic access player commands
@@ -196,4 +199,7 @@ permissions:
description: Allows access to create signs
VotingPlugin.TopVoter.Ignore:
description: Allows you to be exempt from top voter
VotingPlugin.NoRemind:
description: Ignore vote reminding
default: false
+1 -1
View File
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.Ben12345rocks</groupId>
<artifactId>VotingPlugin</artifactId>
<version>5.10.3</version>
<version>5.12.2</version>
<packaging>jar</packaging>
<name>VotingPlugin</name>
<properties>
@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map.Entry;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
@@ -16,6 +17,8 @@ import org.bukkit.inventory.ItemStack;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.Commands.GUI.UserGUI;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Objects.TabCompleteHandle;
import com.Ben12345rocks.AdvancedCore.Objects.TabCompleteHandler;
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
import com.Ben12345rocks.AdvancedCore.Objects.UserStorage;
import com.Ben12345rocks.AdvancedCore.Report.Report;
@@ -24,15 +27,15 @@ import com.Ben12345rocks.AdvancedCore.Util.Inventory.BInventory.ClickEvent;
import com.Ben12345rocks.AdvancedCore.Util.Inventory.BInventoryButton;
import com.Ben12345rocks.AdvancedCore.Util.Item.ItemBuilder;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.PlayerUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.AdvancedCore.Util.Updater.Updater;
import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.ValueRequest;
import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.Listeners.BooleanListener;
import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.Listeners.NumberListener;
import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.Listeners.StringListener;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.Executers.CommandAdminVote;
import com.Ben12345rocks.VotingPlugin.Commands.Executers.CommandAliases;
import com.Ben12345rocks.VotingPlugin.Commands.Executers.CommandVote;
import com.Ben12345rocks.VotingPlugin.Commands.GUI.AdminGUI;
import com.Ben12345rocks.VotingPlugin.Commands.GUI.PlayerGUIs;
import com.Ben12345rocks.VotingPlugin.Commands.TabCompleter.AliasesTabCompleter;
@@ -43,6 +46,7 @@ import com.Ben12345rocks.VotingPlugin.Events.PlayerVoteEvent;
import com.Ben12345rocks.VotingPlugin.Events.VotiferEvent;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoterHandler;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
import com.Ben12345rocks.VotingPlugin.VoteParty.VoteParty;
import com.Ben12345rocks.VotingPlugin.VoteShop.VoteShop;
@@ -149,6 +153,7 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (Bukkit.getServer().getPluginManager().getPlugin("GAListener") != null) {
sender.sendMessage("Starting to convert");
Table<String, Integer, Long> totals = GAL.p.db.getTotals();
for (Cell<String, Integer, Long> entry : totals.cellSet()) {
String name = entry.getRowKey();
@@ -249,7 +254,14 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().help(sender, 1);
int page = 1;
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendJson(Commands.getInstance().adminHelp(sender, page - 1));
} else {
sender.sendMessage(ArrayUtils.getInstance().convert(
ArrayUtils.getInstance().comptoString(Commands.getInstance().adminHelp(sender, page - 1))));
}
}
});
@@ -281,7 +293,14 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().help(sender, Integer.parseInt(args[1]));
int page = Integer.parseInt(args[1]);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendJson(Commands.getInstance().adminHelp(sender, page - 1));
} else {
sender.sendMessage(ArrayUtils.getInstance().convert(
ArrayUtils.getInstance().comptoString(Commands.getInstance().adminHelp(sender, page - 1))));
}
}
});
@@ -298,12 +317,31 @@ public class CommandLoader {
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "Perms" },
"VotingPlugin.Commands.AdminVote.Perms|" + adminPerm, "List perms") {
"VotingPlugin.Commands.AdminVote.Perms|" + adminPerm, "List permissions") {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().permList(sender);
sender.sendMessage(Commands.getInstance().listPerms(sender));
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "Perms", "(OnlinePlayer)" },
"VotingPlugin.Commands.AdminVote.Perms.Other|" + adminPerm,
"List permissions from the plugin the player has") {
@Override
public void execute(CommandSender sender, String[] args) {
Commands.getInstance().listPerms(sender, args[1], 1);
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "Perms", "(OnlinePlayer)", "(Number)" },
"VotingPlugin.Commands.AdminVote.Perms.Other|" + adminPerm,
"List permissions from the plugin the player has") {
@Override
public void execute(CommandSender sender, String[] args) {
Commands.getInstance().listPerms(sender, args[1], Integer.parseInt(args[2]));
}
});
@@ -312,8 +350,10 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().reload(sender);
sender.sendMessage(ChatColor.RED + "Reloading " + plugin.getName() + "...");
plugin.reload();
sender.sendMessage(
ChatColor.RED + plugin.getName() + " v" + plugin.getDescription().getVersion() + " reloaded!");
}
});
@@ -385,7 +425,24 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().uuid(sender, args[1]);
sender.sendMessage(ChatColor.GREEN + "UUID of player " + ChatColor.DARK_GREEN + args[1]
+ ChatColor.GREEN + " is: " + PlayerUtils.getInstance().getUUID(args[1]));
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "PlayerName", "(uuid)" },
"VotingPlugin.Commands.AdminVote.PlayerName|" + adminPerm, "View PlayerName of player") {
@Override
public void execute(CommandSender sender, String[] args) {
try {
sender.sendMessage(ChatColor.GREEN + "PlayerName of player " + ChatColor.DARK_GREEN + args[1]
+ ChatColor.GREEN + " is: " + PlayerUtils.getInstance().getPlayerName(
UserManager.getInstance().getVotingPluginUser(new UUID(args[1])), args[1]));
} catch (IllegalArgumentException e) {
sendMessage(sender, "&cInvalid uuid");
}
}
});
@@ -409,6 +466,25 @@ public class CommandLoader {
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "ClearOfflineRewards" },
"VotingPlugin.Commands.AdminVote.ClearOfflineRewards|" + adminPerm, "Reset offline votes/rewards") {
@Override
public void execute(CommandSender sender, String[] args) {
if (sender instanceof Player) {
sender.sendMessage(
StringUtils.getInstance().colorize("&cThis command can not be done from ingame"));
return;
}
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
user.clearOfflineRewards();
}
sender.sendMessage(StringUtils.getInstance().colorize("&cCleared totals for everyone"));
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "ConvertFromData", "(userstorage)" },
"VotingPlugin.Commands.AdminVote.ConvertFromData",
"Convert from selected user storage to current user storage") {
@@ -501,18 +577,21 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().createVoteSite(sender, args[1]);
sender.sendMessage(StringUtils.getInstance().colorize("&cCreating VoteSite..." + args[1]));
ConfigVoteSites.getInstance().generateVoteSite(args[1]);
sender.sendMessage(StringUtils.getInstance().colorize("&cCreated VoteSite: &c&l" + args[1]));
}
});
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "Config", "SetDebug", "(boolean)" },
"VotingPlugin.Commands.AdminVote.Config.Edit|" + adminPerm, "Set Debug on or off") {
"VotingPlugin.Commands.AdminVote.Config.Edit|" + adminPerm,
"Set Debug on or off, effective until reload/restart") {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().setConfigDebug(sender, Boolean.parseBoolean(args[2]));
AdvancedCoreHook.getInstance().setDebug(true);
}
});
@@ -522,8 +601,11 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().setVoteSiteServiceSite(sender, plugin.getVoteSiteName(args[1]),
args[3]);
String voteSite = plugin.getVoteSiteName(args[1]);
String serviceSite = args[3];
ConfigVoteSites.getInstance().setServiceSite(voteSite, serviceSite);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet ServiceSite to &c&l" + serviceSite + "&c on &c&l" + voteSite));
}
});
@@ -533,8 +615,11 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().setVoteSiteVoteURL(sender, plugin.getVoteSiteName(args[1]),
args[3]);
String voteSite = plugin.getVoteSiteName(args[1]);
String url = args[3];
ConfigVoteSites.getInstance().setVoteURL(voteSite, url);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet VoteURL to &c&l" + url + "&c on &c&l" + voteSite));
}
});
@@ -544,9 +629,11 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().setVoteSitePriority(sender, plugin.getVoteSiteName(args[1]),
Integer.parseInt(args[3]));
String voteSite = plugin.getVoteSiteName(args[1]);
int value = Integer.parseInt(args[3]);
ConfigVoteSites.getInstance().setPriority(voteSite, value);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet priortiy to &c&l" + value + "&c on &c&l" + voteSite));
}
});
@@ -557,9 +644,11 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandAdminVote.getInstance().setVoteSiteVoteDelay(sender, plugin.getVoteSiteName(args[1]),
Integer.parseInt(args[3]));
String voteSite = plugin.getVoteSiteName(args[1]);
int delay = Integer.parseInt(args[3]);
ConfigVoteSites.getInstance().setVoteDelay(voteSite, delay);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet VoteDelay to &c&l" + delay + "&c on &c&l" + voteSite));
}
});
@@ -575,7 +664,30 @@ public class CommandLoader {
@Override
public void run() {
sender.sendMessage(StringUtils.getInstance().colorize("&cChecking for update..."));
CommandAdminVote.getInstance().checkUpdate(sender);
plugin.updater = new Updater(plugin, 15358, false);
final Updater.UpdateResult result = plugin.updater.getResult();
switch (result) {
case FAIL_SPIGOT: {
sender.sendMessage(StringUtils.getInstance()
.colorize("&cFailed to check for update for &c&l" + plugin.getName() + "&c!"));
break;
}
case NO_UPDATE: {
sender.sendMessage(StringUtils.getInstance().colorize("&c&l" + plugin.getName()
+ " &cis up to date! Version: &c&l" + plugin.updater.getVersion()));
break;
}
case UPDATE_AVAILABLE: {
sender.sendMessage(StringUtils.getInstance().colorize(
"&c&l" + plugin.getName() + " &chas an update available! Your Version: &c&l"
+ plugin.getDescription().getVersion() + " &cNew Version: &c&l"
+ plugin.updater.getVersion()));
break;
}
default: {
break;
}
}
}
});
@@ -588,9 +700,12 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
String voteSite = plugin.getVoteSiteName(args[1]);
boolean value = Boolean.parseBoolean(args[3]);
CommandAdminVote.getInstance().setVoteSiteEnabled(sender, plugin.getVoteSiteName(args[1]),
Boolean.parseBoolean(args[3]));
ConfigVoteSites.getInstance().setEnabled(voteSite, value);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet votesite " + voteSite + " enabled to " + value));
}
});
@@ -600,9 +715,26 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
String siteName = args[1];
if (!ConfigVoteSites.getInstance().isServiceSiteGood(siteName)) {
sender.sendMessage(StringUtils.getInstance()
.colorize("&cServiceSite is invalid, votes may not work properly"));
} else {
String service = ConfigVoteSites.getInstance().getServiceSite(siteName);
if (ServerData.getInstance().getServiceSites().contains(service)) {
sender.sendMessage(StringUtils.getInstance().colorize("&aServiceSite is properly setup"));
} else {
sender.sendMessage(StringUtils.getInstance()
.colorize("&cService may not be valid, haven't recieved a vote from " + service
+ ", see /av servicesites"));
}
CommandAdminVote.getInstance().checkVoteSite(sender, plugin.getVoteSiteName(args[1]));
}
if (!ConfigVoteSites.getInstance().isVoteURLGood(siteName)) {
sender.sendMessage(StringUtils.getInstance().colorize("&cVoteURL is invalid"));
} else {
sender.sendMessage(StringUtils.getInstance().colorize("&aVoteURL is properly setup"));
}
}
});
@@ -662,7 +794,7 @@ public class CommandLoader {
plugin.getCommand("vote" + arg).setExecutor(new CommandAliases(cmdHandle, false));
plugin.getCommand("vote" + arg)
.setTabCompleter(new AliasesTabCompleter().setCMDHandle(cmdHandle));
.setTabCompleter(new AliasesTabCompleter().setCMDHandle(cmdHandle, false));
} catch (Exception ex) {
plugin.debug("Failed to load command and tab completer for /vote" + arg);
}
@@ -679,7 +811,7 @@ public class CommandLoader {
plugin.getCommand("adminvote" + arg).setExecutor(new CommandAliases(cmdHandle, true));
plugin.getCommand("adminvote" + arg)
.setTabCompleter(new AliasesTabCompleter().setCMDHandle(cmdHandle));
.setTabCompleter(new AliasesTabCompleter().setCMDHandle(cmdHandle, true));
} catch (Exception ex) {
plugin.debug("Failed to load command and tab completer for /adminvote" + arg + ": "
+ ex.getMessage());
@@ -866,14 +998,21 @@ public class CommandLoader {
sites.add(site.getKey());
}
for (int i = 0; i < plugin.voteCommand.size(); i++) {
plugin.voteCommand.get(i).addTabCompleteOption("(Sitename)", sites);
TabCompleteHandler.getInstance().addTabCompleteOption(new TabCompleteHandle("(Sitename)", sites) {
}
@Override
public void updateReplacements() {
}
for (int i = 0; i < plugin.adminVoteCommand.size(); i++) {
plugin.adminVoteCommand.get(i).addTabCompleteOption("(Sitename)", sites);
}
@Override
public void reload() {
ArrayList<String> sites = new ArrayList<String>();
for (VoteSite site : plugin.getVoteSites()) {
sites.add(site.getKey());
}
setReplace(sites);
}
});
}
/**
@@ -886,8 +1025,13 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandVote.getInstance().help(sender);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendJson(Commands.getInstance().voteHelpText(sender));
} else {
sender.sendMessage(ArrayUtils.getInstance().convert(
ArrayUtils.getInstance().comptoString(Commands.getInstance().voteHelpText(sender))));
}
}
});
@@ -945,9 +1089,18 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
if (!Config.getInstance().getCommandsUseGUILast()) {
CommandVote.getInstance().lastOther(sender, args[1]);
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUILast() || !(sender instanceof Player)) {
String playerName = args[1];
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance()
.voteCommandLast(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(Commands.getInstance()
.voteCommandLast(UserManager.getInstance().getVotingPluginUser(playerName))));
}
} else {
PlayerGUIs.getInstance().openVoteLast((Player) sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
}
@@ -965,7 +1118,12 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUILast()) {
CommandVote.getInstance().lastSelf(sender);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteCommandLast(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
} else if (sender instanceof Player) {
PlayerGUIs.getInstance().openVoteLast((Player) sender,
UserManager.getInstance().getVotingPluginUser(sender.getName()));
@@ -979,9 +1137,18 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
if (!Config.getInstance().getCommandsUseGUINext()) {
CommandVote.getInstance().nextOther(sender, args[1]);
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUINext() || !(sender instanceof Player)) {
String playerName = args[1];
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance()
.voteCommandNext(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(Commands.getInstance()
.voteCommandNext(UserManager.getInstance().getVotingPluginUser(playerName))));
}
} else {
PlayerGUIs.getInstance().openVoteNext((Player) sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
}
@@ -998,8 +1165,14 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
CommandVote.getInstance().pointsOther(sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
User user = UserManager.getInstance().getVotingPluginUser(args[1]);
String msg = Config.getInstance().getFormatCommandVotePoints()
.replace("%Player%", user.getPlayerName()).replace("%Points%", "" + user.getPoints());
if (sender instanceof Player) {
UserManager.getInstance().getVotingPluginUser((Player) sender).sendMessage(msg);
} else {
sender.sendMessage(StringUtils.getInstance().colorize(msg));
}
} else {
sendMessage(sender, StringUtils.getInstance()
.replacePlaceHolder(Config.getInstance().getFormatUserNotExist(), "player", args[1]));
@@ -1015,8 +1188,10 @@ public class CommandLoader {
public void execute(CommandSender sender, String[] args) {
if (sender instanceof Player) {
CommandVote.getInstance()
.pointsSelf(UserManager.getInstance().getVotingPluginUser((Player) sender));
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
String msg = Config.getInstance().getFormatCommandVotePoints()
.replace("%Player%", user.getPlayerName()).replace("%Points%", "" + user.getPoints());
user.sendMessage(msg);
} else {
sender.sendMessage("Must be a player to use this!");
}
@@ -1030,7 +1205,13 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUINext()) {
CommandVote.getInstance().nextSelf(sender);
if (sender instanceof Player) {
String playerName = sender.getName();
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.sendMessage(Commands.getInstance().voteCommandNext(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
} else if (sender instanceof Player) {
PlayerGUIs.getInstance().openVoteNext((Player) sender,
UserManager.getInstance().getVotingPluginUser(sender.getName()));
@@ -1072,7 +1253,66 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUITopVoter()) {
Commands.getInstance().voteTop(sender, 1);
int page = 1;
String str = Config.getInstance().getVoteTopDefault();
if (str.equalsIgnoreCase("monthly")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterMonthlyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
}
} else if (str.equalsIgnoreCase("weekly")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterWeeklyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
}
} else if (str.equalsIgnoreCase("daily")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterDailyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
}
} else if (str.equalsIgnoreCase("all")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterAllTimeScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
}
}
} else if (sender instanceof Player) {
PlayerGUIs.getInstance().openVoteTop((Player) sender, null);
}
@@ -1085,7 +1325,65 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
Commands.getInstance().voteTop(sender, Integer.parseInt(args[1]));
int page = Integer.parseInt(args[1]);
String str = Config.getInstance().getVoteTopDefault();
if (str.equalsIgnoreCase("monthly")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterMonthlyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
}
} else if (str.equalsIgnoreCase("weekly")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterWeeklyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
}
} else if (str.equalsIgnoreCase("daily")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterDailyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
}
} else if (str.equalsIgnoreCase("all")) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterAllTimeScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
}
}
}
});
@@ -1095,8 +1393,20 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
int page = Integer.parseInt(args[1]);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
CommandVote.getInstance().topVoterMonthly(sender, Integer.parseInt(args[1]));
@Override
public void run() {
Commands.getInstance().sendTopVoterMonthlyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
}
}
});
@@ -1107,7 +1417,19 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
int page = Integer.parseInt(args[1]);
CommandVote.getInstance().topVoterAll(sender, page);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterAllTimeScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
}
}
});
@@ -1117,11 +1439,19 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (StringUtils.getInstance().isInt(args[1])) {
CommandVote.getInstance().topVoterWeekly(sender, Integer.parseInt(args[1]));
int page = Integer.parseInt(args[1]);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterWeeklyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(
StringUtils.getInstance().colorize("&cError on " + args[1] + ", number expected"));
sender.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
}
}
@@ -1132,13 +1462,20 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (StringUtils.getInstance().isInt(args[1])) {
CommandVote.getInstance().topVoterDaily(sender, Integer.parseInt(args[1]));
} else {
sender.sendMessage(
StringUtils.getInstance().colorize("&cError on " + args[1] + ", number expected"));
}
int page = Integer.parseInt(args[1]);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterDailyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
}
}
});
@@ -1157,9 +1494,22 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUIToday()) {
CommandVote.getInstance().today(sender, Integer.parseInt(args[1]));
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUIToday() || !(sender instanceof Player)) {
int page = Integer.parseInt(args[1]);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().commandVoteToday(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendVoteTodayScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(Commands.getInstance().commandVoteToday(page));
}
} else {
PlayerGUIs.getInstance().openVoteToday((Player) sender);
}
@@ -1171,9 +1521,22 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUIToday()) {
CommandVote.getInstance().today(sender, 1);
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUIToday() || !(sender instanceof Player)) {
int page = 1;
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().commandVoteToday(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendVoteTodayScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(Commands.getInstance().commandVoteToday(page));
}
} else {
PlayerGUIs.getInstance().openVoteToday((Player) sender);
}
@@ -1185,9 +1548,12 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
CommandVote.getInstance().totalAll(sender);
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteCommandTotalAll());
} else {
sender.sendMessage(Commands.getInstance().voteCommandTotalAll());
}
}
});
@@ -1197,9 +1563,17 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
if (!Config.getInstance().getCommandsUseGUITotal()) {
CommandVote.getInstance().totalOther(sender, args[1]);
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUITotal() || !(sender instanceof Player)) {
String playerName = args[1];
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance()
.voteCommandTotal(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(Commands.getInstance()
.voteCommandTotal(UserManager.getInstance().getVotingPluginUser(playerName))));
}
} else {
PlayerGUIs.getInstance().openVoteTotal((Player) sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
}
@@ -1216,9 +1590,15 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUITotal()) {
CommandVote.getInstance().totalSelf(sender);
} else if (sender instanceof Player) {
if (!Config.getInstance().getCommandsUseGUITotal() || !(sender instanceof Player)) {
if (sender instanceof Player) {
String playerName = sender.getName();
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.sendMessage(Commands.getInstance().voteCommandTotal(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
} else {
PlayerGUIs.getInstance().openVoteTotal((Player) sender,
UserManager.getInstance().getVotingPluginUser(sender.getName()));
}
@@ -1230,7 +1610,7 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUIBest()) {
if (!Config.getInstance().getCommandsUseGUIBest() || !(sender instanceof Player)) {
sender.sendMessage(Commands.getInstance().best(sender, sender.getName()));
} else {
PlayerGUIs.getInstance().openVoteBest((Player) sender,
@@ -1245,9 +1625,9 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
if (!Config.getInstance().getCommandsUseGUIBest()) {
if (!Config.getInstance().getCommandsUseGUIBest() || !(sender instanceof Player)) {
sender.sendMessage(Commands.getInstance().best(sender, args[1]));
} else if (sender instanceof Player) {
} else {
PlayerGUIs.getInstance().openVoteBest((Player) sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
}
@@ -1263,7 +1643,7 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUIStreak()) {
if (!Config.getInstance().getCommandsUseGUIStreak() || !(sender instanceof Player)) {
sender.sendMessage(Commands.getInstance().streak(sender, sender.getName()));
} else {
PlayerGUIs.getInstance().openVoteStreak((Player) sender,
@@ -1278,9 +1658,9 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().userExist(args[1])) {
if (!Config.getInstance().getCommandsUseGUIStreak()) {
if (!Config.getInstance().getCommandsUseGUIStreak() || !(sender instanceof Player)) {
sender.sendMessage(Commands.getInstance().streak(sender, args[1]));
} else if (sender instanceof Player) {
} else {
PlayerGUIs.getInstance().openVoteStreak((Player) sender,
UserManager.getInstance().getVotingPluginUser(args[1]));
}
@@ -1295,7 +1675,7 @@ public class CommandLoader {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().getCommandsUseGUIVote()) {
if (!Config.getInstance().getCommandsUseGUIVote() || !(sender instanceof Player)) {
if (isPlayer(sender)) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteURLs(user));
@@ -1303,9 +1683,7 @@ public class CommandLoader {
sender.sendMessage(Commands.getInstance().voteURLs(null));
}
} else {
if (sender instanceof Player) {
PlayerGUIs.getInstance().openVoteURL((Player) sender);
}
PlayerGUIs.getInstance().openVoteURL((Player) sender);
}
}
@@ -25,7 +25,6 @@ import com.Ben12345rocks.AdvancedCore.Util.Misc.MiscUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.AdvancedCore.Util.Scoreboards.SimpleScoreboard;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.Executers.CommandVote;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Objects.User;
@@ -188,32 +187,105 @@ public class Commands {
return ArrayUtils.getInstance().convert(msg);
}
/**
* List perms.
*
* @return the string[]
*/
public String[] listPerms() {
public String[] listPerms(CommandSender sender) {
ArrayList<String> msg = new ArrayList<String>();
msg.add("&c&lCommand : Permissions (seperated by |)");
for (CommandHandler handle : plugin.voteCommand) {
msg.add(handle.getHelpLineCommand("/vote") + " : " + handle.getPerm());
if (sender instanceof Player) {
if (handle.hasPerm(sender)) {
msg.add("&a" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : true");
} else {
msg.add("&c" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : false");
}
} else {
msg.add(handle.getHelpLineCommand("/vote") + " : " + handle.getPerm());
}
}
for (CommandHandler handle : plugin.adminVoteCommand) {
msg.add(handle.getHelpLineCommand("/av") + " : " + handle.getPerm());
if (sender instanceof Player) {
if (handle.hasPerm(sender)) {
msg.add("&a" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : true");
} else {
msg.add("&c" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : false");
}
} else {
msg.add(handle.getHelpLineCommand("/av") + " : " + handle.getPerm());
}
}
for (Permission perm : plugin.getDescription().getPermissions()) {
msg.add(perm.getName());
if (sender instanceof Player) {
if (sender.hasPermission(perm)) {
msg.add("&a" + perm.getName() + " : true");
} else {
msg.add("&c" + perm.getName() + " : false");
}
} else {
msg.add(perm.getName());
}
}
msg = ArrayUtils.getInstance().colorize(msg);
Collections.sort(msg, String.CASE_INSENSITIVE_ORDER);
return ArrayUtils.getInstance().convert(msg);
}
public void listPerms(CommandSender sender, String player, int page) {
Player p = Bukkit.getPlayer(player);
if (p != null) {
ArrayList<String> msg = new ArrayList<String>();
ArrayList<String> text = new ArrayList<String>();
for (CommandHandler handle : plugin.voteCommand) {
if (handle.hasPerm(p)) {
msg.add("&a" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : true");
} else {
msg.add("&c" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : false");
}
}
for (CommandHandler handle : plugin.adminVoteCommand) {
if (handle.hasPerm(p)) {
msg.add("&a" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : true");
} else {
msg.add("&c" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : false");
}
}
for (Permission perm : plugin.getDescription().getPermissions()) {
if (p.hasPermission(perm)) {
msg.add("&a" + perm.getName() + " : true");
} else {
msg.add("&c" + perm.getName() + " : false");
}
}
msg = ArrayUtils.getInstance().colorize(msg);
int pagesize = Config.getInstance().getFormatPageSize();
int maxPage = msg.size() / pagesize;
if ((msg.size() % pagesize) != 0) {
maxPage++;
}
text.add("&c&lCommand : Permissions (seperated by |) " + page + "/" + maxPage);
for (int i = pagesize * page - pagesize; i < msg.size() && i < pagesize * page; i++) {
text.add(msg.get(i));
}
sender.sendMessage(ArrayUtils.getInstance().convert(ArrayUtils.getInstance().colorize(text)));
} else {
sender.sendMessage(StringUtils.getInstance().colorize("&cPlayer not online: " + player));
}
}
/**
* Player info.
*
@@ -586,13 +658,13 @@ public class Commands {
LocalDateTime lastVote = LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault());
if (!voteSite.isVoteDelayDaily()) {
int votedelay = voteSite.getVoteDelay();
double votedelay = voteSite.getVoteDelay();
if (votedelay == 0) {
String errorMsg = config.getFormatCommandsVoteNextInfoError();
info = errorMsg;
} else {
LocalDateTime nextvote = lastVote.plusHours(votedelay);
LocalDateTime nextvote = lastVote.plusHours((long) votedelay);
if (time == 0 || now.isAfter(nextvote)) {
info = config.getFormatCommandsVoteNextInfoCanVote();
@@ -745,19 +817,6 @@ public class Commands {
return ArrayUtils.getInstance().convert(msg);
}
public void voteTop(CommandSender sender, int page) {
String str = Config.getInstance().getVoteTopDefault();
if (str.equalsIgnoreCase("monthly")) {
CommandVote.getInstance().topVoterMonthly(sender, page);
} else if (str.equalsIgnoreCase("weekly")) {
CommandVote.getInstance().topVoterWeekly(sender, page);
} else if (str.equalsIgnoreCase("daily")) {
CommandVote.getInstance().topVoterDaily(sender, page);
} else {
}
}
public String[] voteURLs(User user) {
ArrayList<String> sites = new ArrayList<String>();
@@ -775,6 +834,7 @@ public class Commands {
msg = StringUtils.getInstance().replaceIgnoreCase(msg, "%num%", Integer.toString(counter));
msg = StringUtils.getInstance().replaceIgnoreCase(msg, "%url%", voteURL);
msg = StringUtils.getInstance().replaceIgnoreCase(msg, "%SiteName%", voteSite.getDisplayName());
msg = StringUtils.getInstance().replaceIgnoreCase(msg, "%player%", user.getPlayerName());
sites.add(msg);
}
}
@@ -790,4 +850,5 @@ public class Commands {
sites = ArrayUtils.getInstance().colorize(sites);
return ArrayUtils.getInstance().convert(sites);
}
}
@@ -1,24 +1,14 @@
package com.Ben12345rocks.VotingPlugin.Commands.Executers;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.PlayerUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.AdvancedCore.Util.Updater.Updater;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.Commands;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoterHandler;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
// TODO: Auto-generated Javadoc
/**
@@ -63,102 +53,6 @@ public class CommandAdminVote implements CommandExecutor {
this.plugin = plugin;
}
/**
* Check update.
*
* @param sender
* the sender
*/
public void checkUpdate(CommandSender sender) {
plugin.updater = new Updater(plugin, 15358, false);
final Updater.UpdateResult result = plugin.updater.getResult();
switch (result) {
case FAIL_SPIGOT: {
sender.sendMessage(StringUtils.getInstance()
.colorize("&cFailed to check for update for &c&l" + plugin.getName() + "&c!"));
break;
}
case NO_UPDATE: {
sender.sendMessage(StringUtils.getInstance().colorize(
"&c&l" + plugin.getName() + " &cis up to date! Version: &c&l" + plugin.updater.getVersion()));
break;
}
case UPDATE_AVAILABLE: {
sender.sendMessage(StringUtils.getInstance()
.colorize("&c&l" + plugin.getName() + " &chas an update available! Your Version: &c&l"
+ plugin.getDescription().getVersion() + " &cNew Version: &c&l"
+ plugin.updater.getVersion()));
break;
}
default: {
break;
}
}
}
/**
* Check vote site.
*
* @param sender
* the sender
* @param siteName
* the site name
*/
public void checkVoteSite(CommandSender sender, String siteName) {
if (!ConfigVoteSites.getInstance().isServiceSiteGood(siteName)) {
sender.sendMessage(
StringUtils.getInstance().colorize("&cServiceSite is invalid, votes may not work properly"));
} else {
sender.sendMessage(StringUtils.getInstance().colorize("&aServiceSite is properly setup"));
}
if (!ConfigVoteSites.getInstance().isVoteURLGood(siteName)) {
sender.sendMessage(StringUtils.getInstance().colorize("&cVoteURL is invalid"));
} else {
sender.sendMessage(StringUtils.getInstance().colorize("&aVoteURL is properly setup"));
}
}
/**
* Creates the vote site.
*
* @param sender
* the sender
* @param voteSite
* the vote site
*/
public void createVoteSite(CommandSender sender, String voteSite) {
sender.sendMessage(StringUtils.getInstance().colorize("&cCreating VoteSite..."));
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
ConfigVoteSites.getInstance().generateVoteSite(voteSite);
sender.sendMessage(StringUtils.getInstance().colorize("&cCreated VoteSite: &c&l" + voteSite));
}
});
}
/**
* Help.
*
* @param sender
* the sender
* @param page
* the page
*/
public void help(CommandSender sender, int page) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendJson(Commands.getInstance().adminHelp(sender, page - 1));
} else {
sender.sendMessage(ArrayUtils.getInstance().convert(
ArrayUtils.getInstance().comptoString(Commands.getInstance().adminHelp(sender, page - 1))));
}
}
/*
* (non-Javadoc)
*
@@ -180,263 +74,4 @@ public class CommandAdminVote implements CommandExecutor {
return true;
}
/**
* Perm list.
*
* @param sender
* the sender
*/
public void permList(CommandSender sender) {
sender.sendMessage(Commands.getInstance().listPerms());
}
/**
* Reload.
*
* @param sender
* the sender
*/
public void reload(CommandSender sender) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
sender.sendMessage(ChatColor.RED + "Reloading " + plugin.getName() + "...");
plugin.reload();
sender.sendMessage(
ChatColor.RED + plugin.getName() + " v" + plugin.getDescription().getVersion() + " reloaded!");
}
});
}
/**
* Reset player totals.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void resetPlayerTotals(CommandSender sender, String playerName) {
sender.sendMessage(StringUtils.getInstance().colorize("&cResseting totals for player &c&l" + playerName));
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.resetDailyTotalVotes();
user.resetMonthlyTotalVotes();
user.resetWeeklyTotalVotes();
sender.sendMessage(StringUtils.getInstance().colorize("&cDone resseting totals for &c&l" + playerName));
plugin.update();
}
});
}
/**
* Reset totals.
*
* @param sender
* the sender
*/
public void resetTotals(CommandSender sender) {
sender.sendMessage(StringUtils.getInstance().colorize("&cResseting totals for all players..."));
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
TopVoterHandler.getInstance().resetDailyTotals();
TopVoterHandler.getInstance().resetMonthlyTotals();
TopVoterHandler.getInstance().resetWeeklyTotals();
sender.sendMessage(StringUtils.getInstance().colorize("&cDone resseting totals"));
plugin.update();
}
});
}
/**
* Sets the config allow unjoined.
*
* @param sender
* the sender
* @param value
* the value
*/
public void setConfigAllowUnjoined(CommandSender sender, boolean value) {
Config.getInstance().setAllowUnJoined(value);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet AllowUnjoined to &c&l" + value));
}
/**
* Sets the config broadcast vote.
*
* @param sender
* the sender
* @param value
* the value
*/
public void setConfigBroadcastVote(CommandSender sender, boolean value) {
Config.getInstance().setDebugEnabled(value);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet BroadcastVote to &c&l" + value));
}
/**
* Sets the config debug.
*
* @param sender
* the sender
* @param value
* the value
*/
public void setConfigDebug(CommandSender sender, boolean value) {
Config.getInstance().setDebugEnabled(value);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet Debug to &c&l" + value));
}
/**
* Sets the config enable top voter awards.
*
* @param sender
* the sender
* @param value
* the value
*/
public void setConfigEnableTopVoterAwards(CommandSender sender, boolean value) {
Config.getInstance().setTopVoterAwardsEnabled(value);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet DisableTopVoterAwards to &c&l" + value));
}
/**
* Sets the total.
*
* @param sender
* the sender
* @param playerName
* the player name
* @param amount
* the amount
*/
public void setTotal(CommandSender sender, String playerName, int amount) {
UserManager.getInstance().getVotingPluginUser(playerName).setMonthTotal(amount);
sender.sendMessage(ChatColor.GREEN + playerName + " total votes has been set to " + amount);
plugin.update();
}
/**
* Sets the vote site enabled.
*
* @param sender
* the sender
* @param voteSite
* the vote site
* @param value
* the value
*/
public void setVoteSiteEnabled(CommandSender sender, String voteSite, boolean value) {
ConfigVoteSites.getInstance().setEnabled(voteSite, value);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet votesite " + voteSite + " enabled to " + value));
}
/**
* Sets the vote site priority.
*
* @param sender
* the sender
* @param voteSite
* the vote site
* @param value
* the value
*/
public void setVoteSitePriority(CommandSender sender, String voteSite, int value) {
ConfigVoteSites.getInstance().setPriority(voteSite, value);
sender.sendMessage(
StringUtils.getInstance().colorize("&cSet priortiy to &c&l" + value + "&c on &c&l" + voteSite));
}
/**
* Sets the vote site service site.
*
* @param sender
* the sender
* @param voteSite
* the vote site
* @param serviceSite
* the service site
*/
public void setVoteSiteServiceSite(CommandSender sender, String voteSite, String serviceSite) {
ConfigVoteSites.getInstance().setServiceSite(voteSite, serviceSite);
sender.sendMessage(StringUtils.getInstance()
.colorize("&cSet ServiceSite to &c&l" + serviceSite + "&c on &c&l" + voteSite));
}
/**
* Sets the vote site vote delay.
*
* @param sender
* the sender
* @param voteSite
* the vote site
* @param delay
* the delay
*/
public void setVoteSiteVoteDelay(CommandSender sender, String voteSite, int delay) {
ConfigVoteSites.getInstance().setVoteDelay(voteSite, delay);
sender.sendMessage(
StringUtils.getInstance().colorize("&cSet VoteDelay to &c&l" + delay + "&c on &c&l" + voteSite));
}
/**
* Sets the vote site vote URL.
*
* @param sender
* the sender
* @param voteSite
* the vote site
* @param url
* the url
*/
public void setVoteSiteVoteURL(CommandSender sender, String voteSite, String url) {
ConfigVoteSites.getInstance().setVoteURL(voteSite, url);
sender.sendMessage(StringUtils.getInstance().colorize("&cSet VoteURL to &c&l" + url + "&c on &c&l" + voteSite));
}
/**
* Uuid.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void uuid(CommandSender sender, String playerName) {
sender.sendMessage(ChatColor.GREEN + "UUID of player " + ChatColor.DARK_GREEN + playerName + ChatColor.GREEN
+ " is: " + PlayerUtils.getInstance().getUUID(playerName));
}
}
@@ -1,21 +1,12 @@
package com.Ben12345rocks.VotingPlugin.Commands.Executers;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.Commands;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoterHandler;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
// TODO: Auto-generated Javadoc
/**
@@ -54,146 +45,6 @@ public class CommandVote implements CommandExecutor {
CommandVote.plugin = plugin;
}
/**
* Help.
*
* @param sender
* the sender
*/
public void help(CommandSender sender) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendJson(Commands.getInstance().voteHelpText(sender));
} else {
sender.sendMessage(ArrayUtils.getInstance()
.convert(ArrayUtils.getInstance().comptoString(Commands.getInstance().voteHelpText(sender))));
}
}
/**
* Info other.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void infoOther(CommandSender sender, String playerName) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(StringUtils.getInstance().colorize("&cGetting player info..."));
user.sendMessage(Commands.getInstance()
.playerInfo(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(Commands.getInstance()
.playerInfo(UserManager.getInstance().getVotingPluginUser(playerName))));
}
}
});
}
/**
* Info self.
*
* @param sender
* the sender
*/
public void infoSelf(CommandSender sender) {
if (sender instanceof Player) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(StringUtils.getInstance().colorize("&cGetting info..."));
user.sendMessage(Commands.getInstance().playerInfo(user));
}
});
} else {
sender.sendMessage("You must be a player to do this!");
}
}
/**
* Last other.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void lastOther(CommandSender sender, String playerName) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(
Commands.getInstance().voteCommandLast(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(
Commands.getInstance().voteCommandLast(UserManager.getInstance().getVotingPluginUser(playerName))));
}
}
/**
* Last self.
*
* @param sender
* the sender
*/
public void lastSelf(CommandSender sender) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteCommandLast(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
}
/**
* Next other.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void nextOther(CommandSender sender, String playerName) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(
Commands.getInstance().voteCommandNext(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(
Commands.getInstance().voteCommandNext(UserManager.getInstance().getVotingPluginUser(playerName))));
}
}
/**
* Next self.
*
* @param sender
* the sender
*/
public void nextSelf(CommandSender sender) {
if (sender instanceof Player) {
String playerName = sender.getName();
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.sendMessage(Commands.getInstance().voteCommandNext(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
}
/*
* (non-Javadoc)
*
@@ -215,220 +66,4 @@ public class CommandVote implements CommandExecutor {
return true;
}
/**
* Points other.
*
* @param sender
* the sender
* @param user
* the user
*/
public void pointsOther(CommandSender sender, User user) {
String msg = Config.getInstance().getFormatCommandVotePoints().replace("%Player%", user.getPlayerName())
.replace("%Points%", "" + user.getPoints());
if (sender instanceof Player) {
UserManager.getInstance().getVotingPluginUser((Player) sender).sendMessage(msg);
} else {
sender.sendMessage(StringUtils.getInstance().colorize(msg));
}
}
/**
* Points self.
*
* @param user
* the user
*/
public void pointsSelf(User user) {
String msg = Config.getInstance().getFormatCommandVotePoints().replace("%Player%", user.getPlayerName())
.replace("%Points%", "" + user.getPoints());
user.sendMessage(msg);
}
/**
* Today.
*
* @param sender
* the sender
* @param page
* the page
*/
public void today(CommandSender sender, int page) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().commandVoteToday(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendVoteTodayScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(Commands.getInstance().commandVoteToday(page));
}
}
public void topVoterAll(CommandSender sender, int page) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterAllTimeScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterAllTime(page));
}
}
/**
* Top voter daily.
*
* @param sender
* the sender
* @param page
* the page
*/
public void topVoterDaily(CommandSender sender, int page) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterDailyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterDaily(page));
}
}
/**
* Top voter monthly.
*
* @param sender
* the sender
* @param page
* the page
*/
public void topVoterMonthly(CommandSender sender, int page) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterMonthlyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterMonthly(page));
}
}
/**
* Top voter weekly.
*
* @param sender
* the sender
* @param page
* the page
*/
public void topVoterWeekly(CommandSender sender, int page) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Commands.getInstance().sendTopVoterWeeklyScoreBoard((Player) sender, page);
}
});
} else {
sender.sendMessage(TopVoterHandler.getInstance().topVoterWeekly(page));
}
}
});
}
/**
* Total all.
*
* @param sender
* the sender
*/
public void totalAll(CommandSender sender) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteCommandTotalAll());
} else {
sender.sendMessage(Commands.getInstance().voteCommandTotalAll());
}
}
});
}
/**
* Total other.
*
* @param sender
* the sender
* @param playerName
* the player name
*/
public void totalOther(CommandSender sender, String playerName) {
if (sender instanceof Player) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(
Commands.getInstance().voteCommandTotal(UserManager.getInstance().getVotingPluginUser(playerName)));
} else {
sender.sendMessage(ArrayUtils.getInstance().colorize(Commands.getInstance()
.voteCommandTotal(UserManager.getInstance().getVotingPluginUser(playerName))));
}
}
/**
* Total self.
*
* @param sender
* the sender
*/
public void totalSelf(CommandSender sender) {
if (sender instanceof Player) {
String playerName = sender.getName();
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.sendMessage(Commands.getInstance().voteCommandTotal(user));
} else {
sender.sendMessage("You must be a player to do this!");
}
}
}
@@ -4,7 +4,6 @@ import java.time.format.DateTimeFormatter;
import java.util.Map.Entry;
import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
@@ -377,6 +376,7 @@ public class PlayerGUIs {
"topvoter", topVoter));
int pos = 1;
for (Entry<User, Integer> entry : users) {
inv.addButton(new BInventoryButton(
new ItemBuilder(MiscUtils.getInstance().setSkullOwner(entry.getKey().getOfflinePlayer()))
.setName(Config.getInstance().getGUIVoteTopItemName())
@@ -387,13 +387,14 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent clickEvent) {
ItemBuilder item = new ItemBuilder(clickEvent.getClickedItem());
String name = ChatColor.stripColor(item.getName()).split(":")[1].trim();
//ItemBuilder item = new ItemBuilder(clickEvent.getClickedItem());
// String name = ChatColor.stripColor(item.getName()).split(":")[1].trim();
String name = (String) clickEvent.getButton().getData("player");
User user = UserManager.getInstance().getVotingPluginUser(name);
openVoteGUI(player, user);
}
});
}.addData("player", entry.getKey().getPlayerName()));
pos++;
}
final TopVoter cur = top;
@@ -535,7 +536,12 @@ public class PlayerGUIs {
if (player != null) {
player.closeInventory();
User user = UserManager.getInstance().getVotingPluginUser(player);
user.sendMessage(voteSite.getVoteURL());
user.sendMessage(StringUtils.getInstance().replacePlaceHolder(
StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getGUIVoteURLURLText(), "voteurl",
voteSite.getVoteURL()), "sitename", voteSite.getDisplayName()),
"player", player.getName()));
}
@@ -10,7 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Objects.TabCompleteHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
@@ -36,9 +36,8 @@ public class AdminVoteTabCompleter implements TabCompleter {
Set<String> cmds = new HashSet<String>();
for (CommandHandler cmdHandle : plugin.adminVoteCommand) {
cmds.addAll(cmdHandle.getTabCompleteOptions(sender, args, args.length - 1));
}
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.adminVoteCommand, sender, args,
args.length - 1));
for (String str : cmds) {
if (StringUtils.getInstance().startsWithIgnoreCase(str, args[args.length - 1])) {
@@ -5,12 +5,14 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Objects.TabCompleteHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
@@ -48,8 +50,14 @@ public class AliasesTabCompleter implements TabCompleter {
Set<String> cmds = new HashSet<String>();
ArrayList<CommandHandler> cmdHandlers = new ArrayList<CommandHandler>();
cmdHandlers.addAll(plugin.voteCommand);
cmdHandlers.addAll(plugin.adminVoteCommand);
if (adminCommand) {
cmdHandlers.addAll(plugin.adminVoteCommand);
} else {
cmdHandlers.addAll(plugin.voteCommand);
}
ConcurrentHashMap<String, ArrayList<String>> tabCompletes = TabCompleteHandler.getInstance()
.getTabCompleteOptions();
for (CommandHandler cmdHandle : cmdHandlers) {
if (cmdHandle.getArgs().length >= argsIn.length) {
for (String arg : cmdHandle.getArgs()[0].split("&")) {
@@ -69,7 +77,7 @@ public class AliasesTabCompleter implements TabCompleter {
if (argsMatch) {
cmds.addAll(cmdHandle.getTabCompleteOptions(sender, args, argsIn.length));
cmds.addAll(cmdHandle.getTabCompleteOptions(sender, args, argsIn.length, tabCompletes));
}
}
@@ -88,16 +96,12 @@ public class AliasesTabCompleter implements TabCompleter {
return tab;
}
/**
* Sets the CMD handle.
*
* @param cmd
* the cmd
* @return the aliases tab completer
*/
public AliasesTabCompleter setCMDHandle(CommandHandler cmd) {
public AliasesTabCompleter setCMDHandle(CommandHandler cmd, boolean adminCommand) {
cmdHandle = cmd;
this.adminCommand = adminCommand;
return this;
}
private boolean adminCommand;
}
@@ -10,7 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
import com.Ben12345rocks.AdvancedCore.Objects.TabCompleteHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
@@ -33,29 +33,22 @@ public class VoteTabCompleter implements TabCompleter {
@Override
public List<String> onTabComplete(CommandSender sender, Command cmd, String alias, String[] args) {
if (cmd.getName().equalsIgnoreCase("vote") || cmd.getName().equalsIgnoreCase("v")) {
ArrayList<String> tab = new ArrayList<String>();
ArrayList<String> tab = new ArrayList<String>();
Set<String> cmds = new HashSet<String>();
Set<String> cmds = new HashSet<String>();
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.voteCommand, sender, args,
args.length - 1));
for (CommandHandler cmdHandle : plugin.voteCommand) {
cmds.addAll(cmdHandle.getTabCompleteOptions(sender, args, args.length - 1));
for (String str : cmds) {
if (StringUtils.getInstance().startsWithIgnoreCase(str, args[args.length - 1])) {
tab.add(str);
}
for (String str : cmds) {
if (StringUtils.getInstance().startsWithIgnoreCase(str, args[args.length - 1])) {
tab.add(str);
}
}
Collections.sort(tab, String.CASE_INSENSITIVE_ORDER);
return tab;
}
return null;
Collections.sort(tab, String.CASE_INSENSITIVE_ORDER);
return tab;
}
}
@@ -110,8 +110,8 @@ public class Config extends YMLFile {
return getData().getBoolean("BroadcastVote", true);
}
public boolean getCheckOnWorldChange() {
return getData().getBoolean("CheckOnWorldChange");
public boolean getDisableCheckOnWorldChange() {
return getData().getBoolean("DisableCheckOnWorldChange");
}
public boolean getClearCacheOnUpdate() {
@@ -807,6 +807,10 @@ public class Config extends YMLFile {
return getData().getString("GUI.VoteURL.Name", "&cVoteURL");
}
public String getGUIVoteURLURLText() {
return getData().getString("GUI.VoteURL.URLText", "%VoteUrl%");
}
public String getGUIVoteURLSiteName() {
return getData().getString("GUI.VoteURLSite.Name", "VoteSite %site%");
}
@@ -834,7 +838,15 @@ public class Config extends YMLFile {
}
public Set<String> getIdentifiers() {
return getData().getConfigurationSection("Shop").getKeys(false);
ConfigurationSection shop = getData().getConfigurationSection("Shop");
if (shop != null) {
return shop.getKeys(false);
}
return new HashSet<String>();
}
public boolean getCheckNameMojang() {
return getData().getBoolean("CheckNameMojang", true);
}
public ConfigurationSection getIdentifierSection(String identifier) {
@@ -951,36 +963,8 @@ public class Config extends YMLFile {
}
}
public String getMySqlDatabase() {
return getData().getString("MySQL.Database", "");
}
public String getMySqlHost() {
return getData().getString("MySQL.Host", "");
}
public int getMySqlMaxConnections() {
return getData().getInt("MySQL.MaxConnections", 1);
}
public int getMysqlMaxSize() {
return getData().getInt("MySQL.MaxSize", -1);
}
public String getMySqlPassword() {
return getData().getString("MySQL.Password", "");
}
public int getMySqlPort() {
return getData().getInt("MySQL.Port");
}
public boolean getMySqlPreloadTable() {
return getData().getBoolean("MySQL.PreLoadTable");
}
public String getMySqlUsername() {
return getData().getString("MySQL.Username", "");
public ConfigurationSection getMySql() {
return getData().getConfigurationSection("MySQL");
}
public int getPointsOnVote() {
@@ -1136,6 +1120,14 @@ public class Config extends YMLFile {
return getData().getBoolean("VoteParty.ResetEachDay");
}
public boolean getAddTotals() {
return getData().getBoolean("AddTotals", true);
}
public boolean getVotePartyResetMontly() {
return getData().getBoolean("VoteParty.ResetMonthly");
}
/**
* Gets the vote party rewards.
*
@@ -1145,6 +1137,11 @@ public class Config extends YMLFile {
return "VoteParty.Rewards";
}
@SuppressWarnings("unchecked")
public ArrayList<String> getVotePartyCommands() {
return (ArrayList<String>) getData().getList("VoteParty.Commands", new ArrayList<String>());
}
/**
* Gets the vote party votes required.
*
@@ -1215,6 +1212,14 @@ public class Config extends YMLFile {
return getData().getString("Format.UserNotExist", "&cUser does not exist: %player%");
}
public boolean getPurgeOldData() {
return getData().getBoolean("PurgeOldData");
}
public int getPurgeMin() {
return getData().getInt("PurgeMin", 90);
}
/**
* Gets the vote site items.
*
@@ -1473,4 +1478,8 @@ public class Config extends YMLFile {
saveData();
}
public boolean getClearCacheOnVote() {
return getData().getBoolean("ClearCacheOnVote");
}
}
@@ -60,6 +60,8 @@ public class ConfigVoteSites extends YMLFile {
setServiceSite(siteName, org);
setVoteURL(siteName, "VoteURL");
setVoteDelay(siteName, 24);
set(siteName, "Item.Material", "GRASS");
set(siteName, "Item.Amount", 1);
set(siteName, "Rewards.Messages.Player", "&aThanks for voting on %ServiceSite%!");
plugin.loadVoteSites();
@@ -167,7 +169,7 @@ public class ConfigVoteSites extends YMLFile {
}
public boolean getVoteSiteGiveOffline(String site) {
return getData(site).getBoolean("GiveOffline");
return getData(site).getBoolean("ForceOffline", getData(site).getBoolean("GiveOffline"));
}
public boolean getVoteSiteResetVoteDelayDaily(String siteName) {
@@ -8,6 +8,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.configuration.ConfigurationSection;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Objects.SignHandler;
@@ -48,10 +49,12 @@ public class ServerData {
ServerData.plugin = plugin;
}
public void addServiceSite(String site) {
public synchronized void addServiceSite(String site) {
ArrayList<String> l = getServiceSites();
l.add(site);
setServiceSites(l);
if (!getServiceSites().contains(site)) {
l.add(site);
}
setServiceSites(ArrayUtils.getInstance().removeDuplicates(l));
}
/**
@@ -53,14 +53,18 @@ public class PlayerJoinEvent implements Listener {
if (player != null) {
User user = UserManager.getInstance().getVotingPluginUser(player);
if (UserManager.getInstance().getAllUUIDs().contains(player.getUniqueId().toString())) {
// give offline vote (if they voted
// offline)
user.offVote();
}
// run remind
user.loginMessage();
if (user.getData().hasData()) {
// give offline vote (if they voted
// offline)
user.offVote();
}
}
}
@@ -0,0 +1,80 @@
package com.Ben12345rocks.VotingPlugin.Events;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import com.Ben12345rocks.VotingPlugin.Objects.User;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
*/
public class PlayerVoteAllSitesEvent extends Event {
/** The Constant handlers. */
private static final HandlerList handlers = new HandlerList();
/**
* Gets the handler list.
*
* @return the handler list
*/
public static HandlerList getHandlerList() {
return handlers;
}
private User user;
/** The cancelled. */
private boolean cancelled;
public PlayerVoteAllSitesEvent(User user) {
super();
setUser(user);
}
/**
* @return the user
*/
public User getUser() {
return user;
}
/**
* @param user
* the user to set
*/
public void setUser(User user) {
this.user = user;
}
/*
* (non-Javadoc)
*
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
public HandlerList getHandlers() {
return handlers;
}
/**
* Checks if is cancelled.
*
* @return true, if is cancelled
*/
public boolean isCancelled() {
return cancelled;
}
/**
* Sets the cancelled.
*
* @param bln
* the new cancelled
*/
public void setCancelled(boolean bln) {
cancelled = bln;
}
}
@@ -0,0 +1,60 @@
package com.Ben12345rocks.VotingPlugin.Events;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
*/
public class VotePartyEvent extends Event {
/** The Constant handlers. */
private static final HandlerList handlers = new HandlerList();
/**
* Gets the handler list.
*
* @return the handler list
*/
public static HandlerList getHandlerList() {
return handlers;
}
/** The cancelled. */
private boolean cancelled;
public VotePartyEvent() {
super();
}
/*
* (non-Javadoc)
*
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
public HandlerList getHandlers() {
return handlers;
}
/**
* Checks if is cancelled.
*
* @return true, if is cancelled
*/
public boolean isCancelled() {
return cancelled;
}
/**
* Sets the cancelled.
*
* @param bln
* the new cancelled
*/
public void setCancelled(boolean bln) {
cancelled = bln;
}
}
@@ -7,6 +7,8 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.Objects.UserStorage;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.PlayerUtils;
import com.Ben12345rocks.VotingPlugin.Main;
@@ -36,90 +38,94 @@ public class VotiferEvent implements Listener {
/** The plugin. */
static Main plugin = Main.plugin;
private static Object object = new Object();
public static void playerVote(final String playerName, final String voteSiteURL) {
playerVote(playerName, voteSiteURL, true);
}
public static void playerVote(final String playerName, final String voteSiteURL, final boolean realVote) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
synchronized (configVoteSites) {
if (!PlayerUtils.getInstance().isValidUser(playerName) && !config.allowUnJoined()) {
plugin.getLogger().warning("Player " + playerName
+ " has not joined before, disregarding vote, set AllowUnjoined to true to prevent this");
return;
}
User user = UserManager.getInstance().getVotingPluginUser(playerName);
VoteSite voteSite = plugin.getVoteSite(voteSiteURL);
if (voteSite == null) {
if (!Config.getInstance().getDisableNoServiceSiteMessage()) {
plugin.getLogger().warning("No voting site with the service site: '" + voteSiteURL + "'");
plugin.getLogger().warning(
"Please read here on how to fix it: https://github.com/Ben12345rocks/VotingPlugin/wiki/Common-Problems");
if (!PlayerUtils.getInstance().isValidUser(playerName) && !config.allowUnJoined()) {
plugin.getLogger().warning("Player " + playerName
+ " has not joined before, disregarding vote, set AllowUnjoined to true to prevent this");
return;
}
ArrayList<String> services = new ArrayList<String>();
for (VoteSite site : plugin.getVoteSites()) {
services.add(site.getServiceSite());
}
plugin.getLogger().warning(
"Current service sites: " + ArrayUtils.getInstance().makeStringList(services));
}
return;
}
User user = UserManager.getInstance().getVotingPluginUser(playerName);
// vote party
if (Config.getInstance().getVotePartyEnabled()) {
if (Config.getInstance().getVotePartyCountFakeVotes() || realVote) {
VoteParty.getInstance().addTotal(user);
VoteParty.getInstance().addVotePlayer(user);
VoteParty.getInstance().check();
}
}
VoteSite voteSite = plugin.getVoteSite(voteSiteURL);
if (voteSite == null) {
if (!Config.getInstance().getDisableNoServiceSiteMessage()) {
plugin.getLogger().warning("No voting site with the service site: '" + voteSiteURL + "'");
plugin.getLogger().warning(
"Please read here on how to fix it: https://github.com/Ben12345rocks/VotingPlugin/wiki/Common-Problems");
// broadcast vote if enabled in config
if (config.getBroadCastVotesEnabled()) {
if (!Config.getInstance().getFormatBroadcastWhenOnline() || user.isOnline()) {
voteSite.broadcastVote(user);
}
}
ArrayList<String> services = new ArrayList<String>();
for (VoteSite site : plugin.getVoteSites()) {
services.add(site.getServiceSite());
}
plugin.getLogger()
.warning("Current service sites: " + ArrayUtils.getInstance().makeStringList(services));
}
return;
}
// update last vote time
user.setTime(voteSite);
synchronized (object) {
OtherVoteReward.getInstance().checkFirstVote(user);
// vote party
VoteParty.getInstance().vote(user, realVote);
// add to total votes
if (Config.getInstance().getCountFakeVotes() || realVote) {
user.addTotal();
user.addTotalDaily();
user.addTotalWeekly();
user.addPoints();
}
user.setReminded(false);
// check if player has voted on all sites in one day
OtherVoteReward.getInstance().checkAllSites(user);
OtherVoteReward.getInstance().checkCumualativeVotes(user);
OtherVoteReward.getInstance().checkMilestone(user);
if (user.isOnline() || voteSite.isGiveOffline()) {
user.playerVote(voteSite, true, false);
user.closeInv();
} else {
user.addOfflineVote(voteSite.getKey());
// plugin.debug(ArrayUtils.getInstance().makeStringList(user.getOfflineVotes()));
plugin.debug("Offline vote set for " + playerName + " (" + user.getUUID() + ") on "
+ voteSite.getKey());
}
plugin.setUpdate(true);
// broadcast vote if enabled in config
if (config.getBroadCastVotesEnabled()) {
if (!Config.getInstance().getFormatBroadcastWhenOnline() || user.isOnline()) {
voteSite.broadcastVote(user);
}
}
});
// update last vote time
user.setTime(voteSite);
OtherVoteReward.getInstance().checkFirstVote(user);
if (user.isReminded()) {
user.setReminded(false);
}
// check if player has voted on all sites in one day
if (user.isOnline() || voteSite.isGiveOffline()) {
user.playerVote(voteSite, true, false);
user.closeInv();
} else {
user.addOfflineVote(voteSite.getKey());
// plugin.debug(ArrayUtils.getInstance().makeStringList(user.getOfflineVotes()));
plugin.debug(
"Offline vote set for " + playerName + " (" + user.getUUID() + ") on " + voteSite.getKey());
}
// add to total votes
if (Config.getInstance().getCountFakeVotes() || realVote) {
if (Config.getInstance().getAddTotals()) {
user.addTotal();
user.addTotalDaily();
user.addTotalWeekly();
}
user.addPoints();
}
OtherVoteReward.getInstance().checkAllSites(user);
OtherVoteReward.getInstance().checkCumualativeVotes(user);
OtherVoteReward.getInstance().checkMilestone(user);
if (Config.getInstance().getClearCacheOnVote()) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
AdvancedCoreHook.getInstance().getMysql().removePlayer(user.getUUID());
}
}
}
plugin.setUpdate(true);
}
@@ -163,13 +169,6 @@ public class VotiferEvent implements Listener {
public void run() {
String voteSiteName = plugin.getVoteSiteName(voteSite);
PlayerVoteEvent voteEvent = new PlayerVoteEvent(plugin.getVoteSite(voteSiteName), voteUsername);
plugin.getServer().getPluginManager().callEvent(voteEvent);
if (voteEvent.isCancelled()) {
return;
}
ArrayList<String> sites = configVoteSites.getVoteSitesNames();
if (sites != null) {
if (!sites.contains(voteSiteName) && Config.getInstance().getAutoCreateVoteSites()) {
@@ -182,6 +181,14 @@ public class VotiferEvent implements Listener {
ConfigVoteSites.getInstance().generateVoteSite(voteSiteName);
}
PlayerVoteEvent voteEvent = new PlayerVoteEvent(plugin.getVoteSite(voteSiteName), voteUsername);
plugin.getServer().getPluginManager().callEvent(voteEvent);
if (voteEvent.isCancelled()) {
plugin.debug("Vote cancelled");
return;
}
playerVote(voteUsername, voteSite, true);
}
@@ -36,7 +36,8 @@ public class VotingPluginUpdateEvent implements Listener {
public void onPluginUpdate(PluginUpdateVersionEvent event) {
if (event.getPlugin().getName().equals(plugin.getDescription().getName())) {
if (!event.getOldVersion().equals("")) {
plugin.getLogger().info("Updated VotingPlugin");
plugin.getLogger().info("VotingPlugin Updated to " + plugin.getDescription().getVersion() + " from "
+ event.getOldVersion());
}
}
}
@@ -19,6 +19,7 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -141,6 +142,7 @@ public class Main extends JavaPlugin {
values.put(key, user.getData().getString(key));
}
data.put(user, values);
debug("[Convert] Added " + uuid);
} catch (Exception e) {
AdvancedCoreHook.getInstance().debug(e);
plugin.getLogger().warning("Exception occoured for '" + uuid + "': " + e.getMessage()
@@ -148,6 +150,8 @@ public class Main extends JavaPlugin {
}
}
plugin.getLogger().info("Finished getting data from " + from.toString());
AdvancedCoreHook.getInstance().setStorageType(to);
loadMySQL();
@@ -163,6 +167,8 @@ public class Main extends JavaPlugin {
}
}
AdvancedCoreHook.getInstance().setStorageType(cur);
plugin.getLogger().info("Finished convertting");
}
public ArrayList<User> convertSet(Set<User> set) {
@@ -272,10 +278,7 @@ public class Main extends JavaPlugin {
@Override
public void run() {
AdvancedCoreHook.getInstance()
.setMysql(new MySQL("VotingPlugin_Users", Config.getInstance().getMySqlHost(),
Config.getInstance().getMySqlPort(), Config.getInstance().getMySqlDatabase(),
Config.getInstance().getMySqlUsername(), Config.getInstance().getMySqlPassword(),
Config.getInstance().getMySqlMaxConnections()));
.setMysql(new MySQL("VotingPlugin_Users", Config.getInstance().getMySql()));
}
});
@@ -283,13 +286,20 @@ public class Main extends JavaPlugin {
}
private void loadTimer() {
AdvancedCoreHook.getInstance().getTimer().schedule(new TimerTask() {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
update();
AdvancedCoreHook.getInstance().getTimer().schedule(new TimerTask() {
@Override
public void run() {
update();
}
}, 1000, 1000 * 60 * Config.getInstance().getDelayBetweenUpdates());
}
}, 1000, 1000 * 60 * Config.getInstance().getDelayBetweenUpdates());
});
}
/**
@@ -527,11 +537,11 @@ public class Main extends JavaPlugin {
return Config.getInstance().getDataStorage();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("CheckOnWorldChange") {
metrics.addCustomChart(new BStatsMetrics.SimplePie("DisableCheckOnWorldChange") {
@Override
public String getValue() {
return "" + Config.getInstance().getCheckOnWorldChange();
return "" + Config.getInstance().getDisableCheckOnWorldChange();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("votereminding_enabled") {
@@ -701,16 +711,77 @@ public class Main extends JavaPlugin {
loadTimer();
plugin.getLogger().info("Enabled VotingPlgin " + plugin.getDescription().getVersion());
plugin.getLogger().info("Enabled VotingPlugin " + plugin.getDescription().getVersion());
ArrayList<String> services = ServerData.getInstance().getServiceSites();
for (VoteSite site : getVoteSites()) {
if (!site.hasRewards() && !Config.getInstance().getDisableNoServiceSiteMessage()) {
plugin.getLogger().warning("No rewards detected for the site: " + site.getKey());
if (!site.hasRewards()) {
plugin.getLogger().warning("No rewards detected for the site: " + site.getKey()
+ ". See https://github.com/Ben12345rocks/AdvancedCore/wiki/Rewards on how to add rewards");
}
boolean contains = false;
for (String service : services) {
if (service.equalsIgnoreCase(site.getServiceSite())) {
contains = true;
}
}
if (!contains) {
plugin.getLogger().warning("No vote has been recieved from " + site.getServiceSite()
+ ", may be an invalid service site. Vote on the site and look in console for a service site, if you get nothing then there is an issue with votifier");
}
}
}
public LinkedHashMap<User, Integer> getTopVoterAllTime() {
return topVoterAllTime;
}
public LinkedHashMap<User, Integer> getTopVoterMonthly() {
return topVoterMonthly;
}
public LinkedHashMap<User, Integer> getTopVoterWeekly() {
return topVoterWeekly;
}
public LinkedHashMap<User, Integer> getTopVoterDaily() {
return topVoterDaily;
}
public Updater getUpdater() {
return updater;
}
public ArrayList<CommandHandler> getVoteCommand() {
return voteCommand;
}
public ArrayList<CommandHandler> getAdminVoteCommand() {
return adminVoteCommand;
}
public LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>> getVoteToday() {
return voteToday;
}
public ArrayList<SignHandler> getSigns() {
return signs;
}
public Logger getVoteLog() {
return voteLog;
}
public boolean isUpdate() {
return update;
}
public boolean isUpdateStarted() {
return updateStarted;
}
/**
* Register commands.
*/
@@ -730,10 +801,13 @@ public class Main extends JavaPlugin {
getCommand("av").setExecutor(new CommandAdminVote(this));
getCommand("av").setTabCompleter(new AdminVoteTabCompleter());
if (Config.getInstance().getGiveDefaultPermission()) {
Bukkit.getPluginManager().getPermission("VotingPlugin.Player").setDefault(PermissionDefault.TRUE);
} else {
Bukkit.getPluginManager().getPermission("VotingPlugin.Player").setDefault(PermissionDefault.OP);
Permission perm = Bukkit.getPluginManager().getPermission("VotingPlugin.Player");
if (perm != null) {
if (Config.getInstance().getGiveDefaultPermission()) {
perm.setDefault(PermissionDefault.TRUE);
} else {
perm.setDefault(PermissionDefault.OP);
}
}
plugin.debug("Loaded Commands");
@@ -770,21 +844,8 @@ public class Main extends JavaPlugin {
configVoteSites.reloadData();
updateAdvancedCoreHook();
plugin.loadVoteSites();
CommandLoader.getInstance().loadTabComplete();
AdvancedCoreHook.getInstance().reload();
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
for (CommandHandler cmd : voteCommand) {
cmd.reloadTabComplete();
}
for (CommandHandler cmd : adminVoteCommand) {
cmd.reloadTabComplete();
}
}
});
loadTimer();
// loadTimer();
}
@@ -837,59 +898,56 @@ public class Main extends JavaPlugin {
if (update && plugin != null && !updateStarted) {
updateStarted = true;
update = false;
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
synchronized (plugin) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
if (AdvancedCoreHook.getInstance().getMysql() == null) {
plugin.debug("MySQL not loaded yet");
return;
} else if (Config.getInstance().getClearCacheOnUpdate()) {
AdvancedCoreHook.getInstance().getMysql().clearCache();
} else {
AdvancedCoreHook.getInstance().getMysql().clearCacheBasic();
}
}
plugin.debug("Starting background task");
long time = System.currentTimeMillis();
try {
ArrayList<String> uuids = UserManager.getInstance().getAllUUIDs();
ArrayList<User> users = new ArrayList<User>();
for (String uuid : uuids) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
users.add(user);
}
update = false;
long time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Finished loading player data in " + time1 + " seconds, " + users.size()
+ " users");
TopVoterHandler.getInstance().updateTopVoters(users);
Commands.getInstance().updateVoteToday(users);
ServerData.getInstance().updateValues();
Signs.getInstance().updateSigns();
for (Player player : Bukkit.getOnlinePlayers()) {
UserManager.getInstance().getVotingPluginUser(player).offVote();
}
time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Background task finished in " + time1 + " seconds");
} catch (Exception ex) {
ex.printStackTrace();
plugin.getLogger().info("Looks like something went wrong.");
}
synchronized (plugin) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
if (AdvancedCoreHook.getInstance().getMysql() == null) {
plugin.debug("MySQL not loaded yet");
return;
} else if (Config.getInstance().getClearCacheOnUpdate()) {
AdvancedCoreHook.getInstance().getMysql().clearCache();
} else {
AdvancedCoreHook.getInstance().getMysql().clearCacheBasic();
}
}
});
plugin.debug("Starting background task");
long time = System.currentTimeMillis();
try {
ArrayList<String> uuids = UserManager.getInstance().getAllUUIDs();
ArrayList<User> users = new ArrayList<User>();
for (String uuid : uuids) {
if (uuid != null && !uuid.isEmpty()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
users.add(user);
// AdvancedCoreHook.getInstance().extraDebug("Loading " + uuid);
// java.lang.Thread.sleep(5000);
}
}
update = false;
long time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Finished loading player data in " + time1 + " seconds, " + users.size() + " users");
TopVoterHandler.getInstance().updateTopVoters(users);
Commands.getInstance().updateVoteToday(users);
ServerData.getInstance().updateValues();
Signs.getInstance().updateSigns();
for (Player player : Bukkit.getOnlinePlayers()) {
UserManager.getInstance().getVotingPluginUser(player).offVote();
}
time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Background task finished in " + time1 + " seconds");
} catch (Exception ex) {
ex.printStackTrace();
plugin.getLogger().info("Looks like something went wrong.");
}
}
updateStarted = false;
}
}
public void updateAdvancedCoreHook() {
AdvancedCoreHook.getInstance().setMaxMysqlSize(Config.getInstance().getMysqlMaxSize());
AdvancedCoreHook.getInstance().setAutoDownload(Config.getInstance().getAutoDownload());
AdvancedCoreHook.getInstance().getJavascriptEngine().put("VotingPlugin", this);
AdvancedCoreHook.getInstance().allowDownloadingFromSpigot(15358);
@@ -897,7 +955,8 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().setStorageType(UserStorage.value(Config.getInstance().getDataStorage()));
loadMySQL();
AdvancedCoreHook.getInstance().setCheckOnWorldChange(Config.getInstance().getCheckOnWorldChange());
AdvancedCoreHook.getInstance()
.setDisableCheckOnWorldChange(Config.getInstance().getDisableCheckOnWorldChange());
AdvancedCoreHook.getInstance().setDebug(Config.getInstance().getDebugEnabled());
AdvancedCoreHook.getInstance().setDebugIngame(Config.getInstance().getDebugInfoIngame());
AdvancedCoreHook.getInstance().setDefaultRequestMethod(Config.getInstance().getRequestAPIDefaultMethod());
@@ -911,6 +970,10 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().setAutoKillInvs(Config.getInstance().getAutoKillInvs());
AdvancedCoreHook.getInstance().setPrevPageTxt(Config.getInstance().getFormatPrevPage());
AdvancedCoreHook.getInstance().setNextPageTxt(Config.getInstance().getFormatNextPage());
AdvancedCoreHook.getInstance().setPurgeOldData(Config.getInstance().getPurgeOldData());
AdvancedCoreHook.getInstance().setPurgeMinimumDays(Config.getInstance().getPurgeMin());
AdvancedCoreHook.getInstance().setCheckNameMojang(Config.getInstance().getCheckNameMojang());
}
}
@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
import org.bukkit.entity.Player;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.Objects.RewardBuilder;
import com.Ben12345rocks.AdvancedCore.Objects.RewardHandler;
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
@@ -333,12 +334,12 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
* @return the last vote times sorted
*/
public HashMap<VoteSite, Long> getLastVoteTimesSorted() {
HashMap<VoteSite, Long> times = new LinkedHashMap<VoteSite, Long>();
LinkedHashMap<VoteSite, Long> times = new LinkedHashMap<VoteSite, Long>();
for (VoteSite voteSite : plugin.getVoteSites()) {
times.put(voteSite, getTime(voteSite));
}
HashMap<VoteSite, Long> sorted = (HashMap<VoteSite, Long>) times.entrySet().stream()
LinkedHashMap<VoteSite, Long> sorted = (LinkedHashMap<VoteSite, Long>) times.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
return sorted;
@@ -352,6 +353,10 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
return getData().getInt("MonthTotal");
}
public int getLastMonthTotal() {
return getData().getInt("LastMonthTotal");
}
public int getMonthVoteStreak() {
return getData().getInt("MonthVoteStreak");
}
@@ -423,7 +428,8 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
}
public void giveOfflineOtherRewards() {
for (String str : getOfflineOtherRewards()) {
ArrayList<String> offlineRewards = getOfflineOtherRewards();
for (String str : offlineRewards) {
if (str.equalsIgnoreCase("FirstVote")) {
OtherVoteReward.getInstance().giveFirstVoteRewards(this, false);
} else if (str.equalsIgnoreCase("AllSites")) {
@@ -496,7 +502,9 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
}
}
setOfflineOtherRewards(new ArrayList<String>());
if (!offlineRewards.isEmpty()) {
setOfflineOtherRewards(new ArrayList<String>());
}
}
/**
@@ -555,9 +563,13 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
* Off vote.
*/
public void offVote() {
AdvancedCoreHook.getInstance().extraDebug("Checking offline vote site votes");
Player player = getPlayer();
if (player != null) {
setTopVoterIgnore(player.hasPermission("VotingPlugin.TopVoter.Ignore"));
boolean topVoterIngorePerm = player.hasPermission("VotingPlugin.TopVoter.Ignore");
if (isTopVoterIgnore() != topVoterIngorePerm) {
setTopVoterIgnore(topVoterIngorePerm);
}
ArrayList<String> offlineVotes = getOfflineVotes();
// plugin.debug(ArrayUtils.getInstance().makeStringList(offlineVotes));
if (offlineVotes.size() > 0) {
@@ -572,9 +584,8 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
plugin.debug("Site doesn't exist: " + offlineVotes.get(i));
}
}
if (!offlineVotes.isEmpty()) {
setOfflineVotes(new ArrayList<String>());
}
setOfflineVotes(new ArrayList<String>());
giveOfflineOtherRewards();
}
@@ -591,7 +602,7 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
* the broadcast
*/
public void playerVote(VoteSite voteSite, boolean online, boolean broadcast) {
if (Config.getInstance().getBroadCastVotesEnabled() && Config.getInstance().getFormatBroadcastWhenOnline()
if (Config.getInstance().getFormatBroadcastWhenOnline() && Config.getInstance().getBroadCastVotesEnabled()
&& broadcast) {
voteSite.broadcastVote(this);
}
@@ -618,6 +629,7 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
}
public void resetMonthlyTotalVotes() {
setLastMonthTotal(getMonthTotal());
setMonthTotal(0);
}
@@ -707,6 +719,10 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
getData().setInt("MonthTotal", total);
}
public void setLastMonthTotal(int total) {
getData().setInt("LastMonthTotal", total);
}
public void setMonthVoteStreak(int streak) {
getData().setInt("MonthVoteStreak", streak);
if (getBestMonthVoteStreak() < streak) {
@@ -765,4 +781,20 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
}
}
public boolean shouldBeReminded() {
Player player = getPlayer();
if (player != null) {
if (player.hasPermission("VotingPlugin.NoRemind")) {
return false;
}
}
return true;
}
public void clearOfflineRewards() {
setOfflineVotes(new ArrayList<String>());
setOfflineRewards(new ArrayList<String>());
setOfflineOtherRewards(new ArrayList<String>());
}
}
@@ -39,7 +39,7 @@ public class VoteSite {
private String displayName;
/** The vote delay. */
private int voteDelay;
private double voteDelay;
/** The enabled. */
private boolean enabled;
@@ -139,7 +139,7 @@ public class VoteSite {
*
* @return the vote delay
*/
public int getVoteDelay() {
public double getVoteDelay() {
return voteDelay;
}
@@ -295,7 +295,7 @@ public class VoteSite {
* @param voteDelay
* the new vote delay
*/
public void setVoteDelay(int voteDelay) {
public void setVoteDelay(double voteDelay) {
this.voteDelay = voteDelay;
}
@@ -2,12 +2,15 @@ package com.Ben12345rocks.VotingPlugin.OtherRewards;
import java.util.Set;
import org.bukkit.Bukkit;
import com.Ben12345rocks.AdvancedCore.Objects.RewardBuilder;
import com.Ben12345rocks.AdvancedCore.Objects.RewardHandler;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Events.PlayerVoteAllSitesEvent;
import com.Ben12345rocks.VotingPlugin.Objects.User;
// TODO: Auto-generated Javadoc
@@ -66,7 +69,6 @@ public class OtherVoteReward {
giveAllSitesRewards(user, user.isOnline());
}
return checkAllVotes;
}
/**
@@ -224,6 +226,12 @@ public class OtherVoteReward {
* the online
*/
public void giveAllSitesRewards(User user, boolean online) {
PlayerVoteAllSitesEvent event = new PlayerVoteAllSitesEvent(user);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
RewardHandler.getInstance().giveReward(user, Config.getInstance().getData(),
Config.getInstance().getAllSitesRewardPath(), online);
}
@@ -275,4 +283,6 @@ public class OtherVoteReward {
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getVoteStreakRewardsPath(type, string))
.setOnline(online).withPlaceHolder("Type", type).withPlaceHolder("Streak", "" + votes).send(user);
}
}
@@ -20,6 +20,7 @@ import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.Listeners.DateChangedEvent;
import com.Ben12345rocks.AdvancedCore.Listeners.DayChangeEvent;
import com.Ben12345rocks.AdvancedCore.Listeners.MonthChangeEvent;
import com.Ben12345rocks.AdvancedCore.Listeners.PreDateChangedEvent;
import com.Ben12345rocks.AdvancedCore.Listeners.WeekChangeEvent;
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
@@ -81,6 +82,12 @@ public class TopVoterHandler implements Listener {
plugin.setUpdate(true);
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPreDateChanged(PreDateChangedEvent event) {
plugin.setUpdate(true);
plugin.update();
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onDayChange(DayChangeEvent event) {
@@ -106,13 +113,17 @@ public class TopVoterHandler implements Listener {
if (Config.getInstance().getDailyAwardsEnabled()) {
Set<String> places = Config.getInstance().getDailyPossibleRewardPlaces();
int i = 0;
int lastTotal = -1;
for (User user : plugin.topVoterDaily.keySet()) {
if (!Config.getInstance().getTopVoterIgnorePermission() || !user.isTopVoterIgnore()) {
i++;
if (user.getDailyTotal() != lastTotal) {
i++;
}
if (places.contains(Integer.toString(i))) {
user.giveDailyTopVoterAward(i);
}
}
lastTotal = user.getDailyTotal();
}
}
resetDailyTotals();
@@ -143,13 +154,18 @@ public class TopVoterHandler implements Listener {
if (Config.getInstance().getMonthlyAwardsEnabled()) {
Set<String> places = Config.getInstance().getMonthlyPossibleRewardPlaces();
int i = 0;
int lastTotal = -1;
for (User user : plugin.topVoterMonthly.keySet()) {
if (!Config.getInstance().getTopVoterIgnorePermission() || !user.isTopVoterIgnore()) {
i++;
if (user.getMonthTotal() != lastTotal) {
i++;
}
if (places.contains(Integer.toString(i))) {
user.giveMonthlyTopVoterAward(i);
}
}
lastTotal = user.getMonthTotal();
}
}
resetMonthlyTotals();
@@ -189,13 +205,17 @@ public class TopVoterHandler implements Listener {
if (Config.getInstance().getWeeklyAwardsEnabled()) {
Set<String> places = Config.getInstance().getWeeklyPossibleRewardPlaces();
int i = 0;
int lastTotal = -1;
for (User user : plugin.topVoterWeekly.keySet()) {
if (!Config.getInstance().getTopVoterIgnorePermission() || !user.isTopVoterIgnore()) {
i++;
if (user.getWeeklyTotal() != lastTotal) {
i++;
}
if (places.contains(Integer.toString(i))) {
user.giveWeeklyTopVoterAward(i);
}
}
lastTotal = user.getWeeklyTotal();
}
}
resetWeeklyTotals();
@@ -261,9 +281,10 @@ public class TopVoterHandler implements Listener {
}
public void storeDailyTopVoters() {
String month = LocalDateTime.now().getMonth().toString();
int year = LocalDateTime.now().getYear();
int day = LocalDateTime.now().getDayOfMonth();
LocalDateTime time = LocalDateTime.now().minusHours(5);
String month = time.getMonth().toString();
int year = time.getYear();
int day = time.getDayOfMonth();
YMLFileHandler file = new YMLFileHandler(new File(plugin.getDataFolder(),
"TopVoter" + File.separator + "Daily" + File.separator + year + "_" + month + "_" + day + ".yml"));
file.setup();
@@ -278,10 +299,11 @@ public class TopVoterHandler implements Listener {
}
public void storeMonthlyTopVoters() {
String month = LocalDateTime.now().getMonth().toString();
int year = LocalDateTime.now().getYear();
LocalDateTime time = LocalDateTime.now().minusHours(10);
String month = time.getMonth().toString();
int year = time.getYear();
YMLFileHandler file = new YMLFileHandler(new File(plugin.getDataFolder(),
"TopVoter" + File.separator + "Monthly" + File.separator + year + "_" + month + ".yml"));
"TopVoter" + File.separator + "Monthly" + File.separator + month + "_" + year + ".yml"));
file.setup();
ArrayList<String> topVoters = new ArrayList<String>();
int count = 1;
@@ -294,9 +316,10 @@ public class TopVoterHandler implements Listener {
}
public void storeWeeklyTopVoters() {
String month = LocalDateTime.now().getMonth().toString();
int year = LocalDateTime.now().getYear();
int week = LocalDateTime.now().getDayOfMonth();
LocalDateTime time = LocalDateTime.now().minusHours(10);
String month = time.getMonth().toString();
int year = time.getYear();
int week = time.getDayOfYear();
YMLFileHandler file = new YMLFileHandler(new File(plugin.getDataFolder(),
"TopVoter" + File.separator + "Weekly" + File.separator + year + "_" + month + "_" + week + ".yml"));
file.setup();
@@ -49,4 +49,8 @@ public class UserManager {
public User getVotingPluginUser(UUID uuid) {
return new User(uuid);
}
public User getVotingPluginUser(java.util.UUID uuid) {
return getVotingPluginUser(new UUID(uuid.toString()));
}
}
@@ -61,6 +61,8 @@ public class PlaceHolders {
return Integer.toString(user.getMonthTotal());
} else if (identifier.equalsIgnoreCase("alltimetotal")) {
return Integer.toString(user.getAllTimeTotal());
} else if (identifier.equalsIgnoreCase("lastmonthtotal")) {
return Integer.toString(user.getLastMonthTotal());
}
String[] args = identifier.split("_");
@@ -3,18 +3,22 @@ package com.Ben12345rocks.VotingPlugin.VoteParty;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import com.Ben12345rocks.AdvancedCore.Listeners.DayChangeEvent;
import com.Ben12345rocks.AdvancedCore.Listeners.MonthChangeEvent;
import com.Ben12345rocks.AdvancedCore.Objects.RewardBuilder;
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.MiscUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Data.ServerData;
import com.Ben12345rocks.VotingPlugin.Events.VotePartyEvent;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
@@ -84,6 +88,12 @@ public class VoteParty implements Listener {
public void check() {
if (getTotalVotes() >= Config.getInstance().getVotePartyVotesRequired()) {
setTotalVotes(getTotalVotes() - Config.getInstance().getVotePartyVotesRequired());
VotePartyEvent event = new VotePartyEvent();
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
giveRewards();
MiscUtils.getInstance().broadcast(Config.getInstance().getVotePartyBroadcast());
}
@@ -97,16 +107,20 @@ public class VoteParty implements Listener {
* the sender
*/
public void commandVoteParty(CommandSender sender) {
ArrayList<String> msg = Config.getInstance().getFormatCommandsVoteParty();
int votesRequired = Config.getInstance().getVotePartyVotesRequired();
int votes = getTotalVotes();
int neededVotes = votesRequired - votes;
HashMap<String, String> placeholders = new HashMap<String, String>();
placeholders.put("votesrequired", "" + votesRequired);
placeholders.put("neededvotes", "" + neededVotes);
placeholders.put("votes", "" + votes);
msg = ArrayUtils.getInstance().colorize(ArrayUtils.getInstance().replacePlaceHolder(msg, placeholders));
sender.sendMessage(ArrayUtils.getInstance().convert(msg));
if (Config.getInstance().getVotePartyEnabled()) {
ArrayList<String> msg = Config.getInstance().getFormatCommandsVoteParty();
int votesRequired = Config.getInstance().getVotePartyVotesRequired();
int votes = getTotalVotes();
int neededVotes = votesRequired - votes;
HashMap<String, String> placeholders = new HashMap<String, String>();
placeholders.put("votesrequired", "" + votesRequired);
placeholders.put("neededvotes", "" + neededVotes);
placeholders.put("votes", "" + votes);
msg = ArrayUtils.getInstance().colorize(ArrayUtils.getInstance().replacePlaceHolder(msg, placeholders));
sender.sendMessage(ArrayUtils.getInstance().convert(msg));
} else {
sender.sendMessage(StringUtils.getInstance().colorize("&cVoteParty not enabled"));
}
}
/**
@@ -167,6 +181,17 @@ public class VoteParty implements Listener {
* Give rewards.
*/
public void giveRewards() {
for (final String cmd : Config.getInstance().getVotePartyCommands()) {
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), cmd);
}
});
}
if (Config.getInstance().getVotePartyGiveAllPlayers()) {
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
@@ -184,8 +209,14 @@ public class VoteParty implements Listener {
@EventHandler
public void onDayChange(DayChangeEvent event) {
if (Config.getInstance().getVotePartyResetEachDay()) {
setTotalVotes(0);
setVotedUsers(new ArrayList<String>());
reset();
}
}
@EventHandler
public void onMonthChange(MonthChangeEvent event) {
if (Config.getInstance().getVotePartyResetMontly()) {
reset();
}
}
@@ -201,6 +232,7 @@ public class VoteParty implements Listener {
user.setVotePartyVotes(0);
}
}
}
/**
@@ -225,4 +257,14 @@ public class VoteParty implements Listener {
ServerData.getInstance().saveData();
}
public synchronized void vote(User user, boolean realVote) {
if (Config.getInstance().getVotePartyEnabled()) {
if (Config.getInstance().getVotePartyCountFakeVotes() || realVote) {
addTotal(user);
addVotePlayer(user);
check();
}
}
}
}
@@ -103,7 +103,7 @@ public class VoteReminding {
* the user
*/
public void runRemind(User user) {
if (Config.getInstance().getVoteRemindingEnabled() && user.canVoteAll()) {
if (Config.getInstance().getVoteRemindingEnabled() && user.canVoteAll() && user.shouldBeReminded()) {
user.setReminded(true);
giveReward(user);
@@ -114,12 +114,14 @@ public class VoteReminding {
public void runRemindLogin(User user) {
if (Config.getInstance().getVoteRemindingEnabled()
&& (!UserManager.getInstance().getAllUUIDs().contains(user.getUUID()) || user.canVoteAll())) {
&& (!UserManager.getInstance().getAllUUIDs().contains(user.getUUID()) || user.canVoteAll())
&& user.shouldBeReminded()) {
giveReward(user);
user.setReminded(true);
if (user.getData().hasData()) {
user.setReminded(true);
}
plugin.debug(user.getPlayerName() + " was reminded!");
}
}
}