Compare commits

..
15 Commits
15 changed files with 200 additions and 78 deletions

No files matched your search

Binary file not shown.
+5
View File
@@ -390,6 +390,8 @@ GUI:
Data: 0
Amount: 1
URLText: '%VoteUrl%'
VoteRewardBackButton: false
# Customize /vote reward
# Show players what you get when you vote on each site
VoteReward:
@@ -862,6 +864,9 @@ AutoCreateVoteSites: true
# You can also use /av download
AutoDownload: false
# Whether or not to disable update checks
DisableUpdateChecking: false
# Disable this on a hub server for example
# Still processes rewards for offline rewards (just won't give any)
ProcessRewards: true
+8 -1
View File
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.Ben12345rocks</groupId>
<artifactId>VotingPlugin</artifactId>
<version>5.16.3</version>
<version>5.17</version>
<packaging>jar</packaging>
<name>VotingPlugin</name>
<properties>
@@ -271,5 +271,12 @@
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.mimimum.minecraft</groupId>
<artifactId>SuperbVote</artifactId>
<version>0.5.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/Jars/SuperbVote-0.5.3.jar</systemPath>
</dependency>
</dependencies>
</project>
@@ -59,6 +59,9 @@ import com.swifteh.GAL.GAL;
import com.swifteh.GAL.GALVote;
import com.swifteh.GAL.VoteType;
import io.minimum.minecraft.superbvote.SuperbVote;
import io.minimum.minecraft.superbvote.util.PlayerVotes;
// TODO: Auto-generated Javadoc
/**
* The Class CommandLoader.
@@ -216,6 +219,30 @@ public class CommandLoader {
}
});
plugin.getAdminVoteCommand().add(new CommandHandler(new String[] { "ConvertFrom", "SuperbVote" },
"VotingPlugin.Commands.AdminVote.ConvertFrom.SuperbVote|" + adminPerm, "Convert from SuperbVote") {
@Override
public void execute(CommandSender sender, String[] args) {
if (Bukkit.getServer().getPluginManager().getPlugin("SuperbVote") != null) {
sender.sendMessage("Starting to convert");
for (OfflinePlayer p : Bukkit.getOfflinePlayers()) {
PlayerVotes votes = SuperbVote.getPlugin().getVoteStorage().getVotes(p.getUniqueId());
if (votes != null) {
User user = UserManager.getInstance().getVotingPluginUser(p);
if (votes.getVotes() > 0) {
user.setTotal(TopVoter.AllTime, votes.getVotes());
}
}
}
} else {
sender.sendMessage("SuperbVote not loaded");
}
}
});
plugin.getAdminVoteCommand().add(new CommandHandler(new String[] { "SetPoints", "(player)", "(number)" },
"VotingPlugin.Commands.AdminVote.SetPoints|" + adminPerm, "Set players voting points") {
@@ -967,15 +994,14 @@ public class CommandLoader {
}
});
plugin.getAdminVoteCommand()
.add(new CommandHandler(new String[] { "" }, "VotingPlugin.Commands.AdminVote|" + adminPerm,
"Base command") {
plugin.getAdminVoteCommand().add(new CommandHandler(new String[] { "" },
"VotingPlugin.Commands.AdminVote|" + adminPerm, "Base command") {
@Override
public void execute(CommandSender sender, String[] args) {
sendMessage(sender, "&cInvalid command, see /adminvote help");
}
});
@Override
public void execute(CommandSender sender, String[] args) {
sendMessage(sender, "&cInvalid command, see /adminvote help");
}
});
ArrayList<CommandHandler> avCommands = com.Ben12345rocks.AdvancedCore.Commands.CommandLoader.getInstance()
.getBasicAdminCommands("VotingPlugin");
@@ -1359,21 +1385,15 @@ public class CommandLoader {
}
});
plugin.getVoteCommand().add(new CommandHandler(new String[] { "Points", },
"VotingPlugin.Commands.Vote.Points|" + playerPerm, "View your points") {
plugin.getVoteCommand().add(new CommandHandler(new String[] { "Points" },
"VotingPlugin.Commands.Vote.Points|" + playerPerm, "View your points", false) {
@Override
public void execute(CommandSender sender, String[] args) {
if (sender instanceof Player) {
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!");
}
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
String msg = Config.getInstance().getFormatCommandVotePoints().replace("%Player%", user.getPlayerName())
.replace("%Points%", "" + user.getPoints());
user.sendMessage(msg);
}
});
@@ -1849,23 +1869,24 @@ public class CommandLoader {
}
});
plugin.getVoteCommand().add(new CommandHandler(new String[] {}, "", "See voting URLs") {
plugin.getVoteCommand().add(
new CommandHandler(new String[] {}, "VotingPlugin.Commands.Vote|" + playerPerm, "See voting URLs") {
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().isCommandsUseGUIVote() || !(sender instanceof Player)) {
if (isPlayer(sender)) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteURLs(user));
} else {
sender.sendMessage(Commands.getInstance().voteURLs(null));
}
} else {
PlayerGUIs.getInstance().openVoteURL((Player) sender);
}
@Override
public void execute(CommandSender sender, String[] args) {
if (!Config.getInstance().isCommandsUseGUIVote() || !(sender instanceof Player)) {
if (isPlayer(sender)) {
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
user.sendMessage(Commands.getInstance().voteURLs(user));
} else {
sender.sendMessage(Commands.getInstance().voteURLs(null));
}
} else {
PlayerGUIs.getInstance().openVoteURL((Player) sender);
}
}
});
});
ArrayList<CommandHandler> avCommands = com.Ben12345rocks.AdvancedCore.Commands.CommandLoader.getInstance()
.getBasicCommands("VotingPlugin");
@@ -584,8 +584,6 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent event) {
User user = UserManager.getInstance().getVotingPluginUser(event.getPlayer());
Player player = event.getWhoClicked();
player.closeInventory();
user.sendMessage(Commands.getInstance().voteURLs(user));
}
@@ -609,10 +607,8 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent event) {
Player player = event.getWhoClicked();
Player player = event.getPlayer();
if (player != null) {
player.closeInventory();
if (Config.getInstance().isCommandsVoteRewardFromVoteURL()
&& event.getClick().equals(ClickType.RIGHT)) {
voteReward(player, voteSite.getKey());
@@ -741,6 +737,16 @@ public class PlayerGUIs {
}
}
if (Config.getInstance().isVoteRewardBackButton()) {
inv.addButton(new BInventoryButton(getBackButton()) {
@Override
public void onClick(ClickEvent event) {
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
}
});
}
inv.openInventory(player);
}
}
@@ -63,11 +63,10 @@ public class Config extends YMLFile {
@Getter
private String formatCommandsVoteLastLine;
@ConfigDataString(path = "Format.Commands.Vote.Last.NeverVoted", defaultValue = "Never voted")
@Getter
private String formatCommandsVoteLastNeverVoted;
@ConfigDataString(path = "Format.Commands.Vote.Last.LastVoted", defaultValue = "%times% ago")
@Getter
private String formatCommandsVoteLastLastVoted;
@@ -186,6 +185,10 @@ public class Config extends YMLFile {
@Getter
private boolean countFakeVotes = true;
@ConfigDataBoolean(path = "GUI.VoteRewardBackButton")
@Getter
private boolean voteRewardBackButton = false;
@ConfigDataInt(path = "ConvertDelay", defaultValue = 30000)
@Getter
private int convertDelay;
@@ -194,6 +197,10 @@ public class Config extends YMLFile {
@Getter
private boolean enableDailyRewards = false;
@ConfigDataBoolean(path = "DisableUpdateChecking")
@Getter
private boolean disableUpdateChecking = false;
@ConfigDataInt(path = "DelayBetweenUpdates")
@Getter
private int delayBetweenUpdates = 3;
@@ -1034,7 +1041,7 @@ public class Config extends YMLFile {
return getData().getBoolean("TopVoterIgnorePermission");
}
public int getUserVotesRequired() {
public int getVotePartyUserVotesRequired() {
return getData().getInt("VoteParty.UserVotesRequired");
}
@@ -39,7 +39,7 @@ public class PlayerSpecialRewardEvent extends Event {
private boolean cancelled;
public PlayerSpecialRewardEvent(User user, SpecialRewardType type) {
super();
super(true);
setType(type);
setUser(user);
}
@@ -6,10 +6,9 @@ public enum SpecialRewardType {
ALLSITE, CUMMULATIVE, MILESTONE, VOTESTREAK, FIRSTVOTE;
@Getter
private int amount = -1;
@Getter
@Getter
private String type = "";
public SpecialRewardType setAmount(int num) {
@@ -29,7 +29,7 @@ public class VotePartyEvent extends Event {
private boolean cancelled;
public VotePartyEvent() {
super();
super(true);
}
/*
@@ -43,7 +43,6 @@ public class PlayerJoinEvent implements Listener {
@Override
public void run() {
if (event.getPlayer() == null
|| (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)
&& AdvancedCoreHook.getInstance().getMysql() == null)) {
@@ -59,13 +58,9 @@ public class PlayerJoinEvent implements Listener {
if (user.getData().hasData()) {
// give offline vote (if they voted offline)
user.offVote();
}
}
}
}, 20L);
@@ -28,6 +28,7 @@ import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.CommandAPI.CommandHandler;
import com.Ben12345rocks.AdvancedCore.NMSManager.NMSManager;
import com.Ben12345rocks.AdvancedCore.Rewards.RewardHandler;
import com.Ben12345rocks.AdvancedCore.Rewards.Injected.RewardInjectInt;
import com.Ben12345rocks.AdvancedCore.UserManager.UUID;
import com.Ben12345rocks.AdvancedCore.UserManager.UserStorage;
import com.Ben12345rocks.AdvancedCore.Util.Javascript.JavascriptPlaceholderRequest;
@@ -121,7 +122,7 @@ public class Main extends JavaPlugin {
/**
* Check votifier.
*/
public void checkVotifier() {
private void checkVotifier() {
try {
Class.forName("com.vexsoftware.votifier.model.VotifierEvent");
} catch (ClassNotFoundException e) {
@@ -702,9 +703,7 @@ public class Main extends JavaPlugin {
registerCommands();
registerEvents();
checkVotifier();
CheckUpdate.getInstance().startUp();
VoteReminding.getInstance().loadRemindChecking();
plugin.signs = new ArrayList<SignHandler>();
@@ -722,11 +721,11 @@ public class Main extends JavaPlugin {
topVoter.put(top, new LinkedHashMap<User, Integer>());
}
voteToday = new LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>>();
voteLog = new Logger(plugin, new File(plugin.getDataFolder() + File.separator + "Log", "votelog.txt"));
AdminGUI.getInstance().loadHook();
// vote party
if (Config.getInstance().getVotePartyEnabled()) {
VoteParty.getInstance().check();
}
@@ -773,9 +772,17 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().getMysql().alterColumnType("MonthTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("HighestWeeklyTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("LastMonthTotal", "INT DEFAULT '0'");
}
RewardHandler.getInstance().getInjectedRewards().add(new RewardInjectInt("Points", 0) {
@Override
public void onRewardRequest(com.Ben12345rocks.AdvancedCore.UserManager.User user, int num,
HashMap<String, String> placeholders) {
UserManager.getInstance().getVotingPluginUser(user).addPoints(num);
}
});
plugin.getLogger().info("Enabled VotingPlugin " + plugin.getDescription().getVersion());
boolean hasRewards = RewardHandler.getInstance().hasRewards(ConfigVoteSites.getInstance().getData(),
@@ -816,7 +823,7 @@ public class Main extends JavaPlugin {
if (NMSManager.getInstance().isVersion("1.7", "1.8", "1.9", "1.10", "1.11", "1.12")) {
plugin.getLogger().severe("Detected running " + NMSManager.getInstance().getVersion()
+ ", this version is not supported on this build");
+ ", this version is not supported on this build. Support is limited");
}
}
@@ -861,15 +868,10 @@ public class Main extends JavaPlugin {
pm.registerEvents(new PlayerJoinEvent(this), this);
pm.registerEvents(new VotiferEvent(this), this);
pm.registerEvents(new PlayerVoteListener(this), this);
pm.registerEvents(new SignChange(this), this);
pm.registerEvents(new BlockBreak(this), this);
pm.registerEvents(new PlayerInteract(this), this);
pm.registerEvents(new VotingPluginUpdateEvent(this), this);
pm.registerEvents(new PlayerCommandSendListener(this), this);
plugin.debug("Loaded Events");
@@ -889,14 +891,9 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().setConfigData(Config.getInstance().getData());
AdvancedCoreHook.getInstance().reload();
PlaceHolders.getInstance().load();
// loadTimer();
}
/**
* Setup files.
*/
public void setupFiles() {
private void setupFiles() {
try {
config = Config.getInstance();
config.setup();
@@ -7,6 +7,7 @@ import org.bukkit.Bukkit;
import com.Ben12345rocks.AdvancedCore.Util.Updater.Updater;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Config.Config;
// TODO: Auto-generated Javadoc
/**
@@ -49,6 +50,9 @@ public class CheckUpdate {
* Check update.
*/
public void checkUpdate() {
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
plugin.setUpdater(new Updater(plugin, 15358, false));
final Updater.UpdateResult result = plugin.getUpdater().getResult();
switch (result) {
@@ -75,6 +79,9 @@ public class CheckUpdate {
}
public void checkUpdateBasic() {
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
plugin.setUpdater(new Updater(plugin, 15358, false));
final Updater.UpdateResult result = plugin.getUpdater().getResult();
switch (result) {
@@ -95,6 +102,9 @@ public class CheckUpdate {
* Start up.
*/
public void startUp() {
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
@Override
@@ -44,6 +44,10 @@ public class UserManager {
return getVotingPluginUser(player.getName());
}
public User getVotingPluginUser(com.Ben12345rocks.AdvancedCore.UserManager.User user) {
return getVotingPluginUser(java.util.UUID.fromString(user.getUUID()));
}
@SuppressWarnings("deprecation")
public User getVotingPluginUser(String playerName) {
return new User(com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().getProperName(playerName));
@@ -258,6 +258,13 @@ public class PlaceHolders {
return Commands.getInstance().voteCommandLastDuration(user, voteSite);
}
}.withDescription("How long ago user voted on " + voteSite.getKey()));
placeholders.add(new PlaceHolder("CanVote_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return "" + user.canVoteSite(voteSite);
}
}.withDescription("Whether or not player can vote on " + voteSite.getKey()));
}
placeholders.add(new PlaceHolder("Top_All_Position") {
@@ -275,6 +282,22 @@ public class PlaceHolders {
}
}.withDescription("Get user top voter position"));
placeholders.add(new PlaceHolder("Top_AllVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.AllTime);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at postion in top voter"));
placeholders.add(new PlaceHolder("Top_All_") {
@Override
@@ -322,6 +345,22 @@ public class PlaceHolders {
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_MonthVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Monthly);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at postion in top voter"));
placeholders.add(new PlaceHolder("Top_Week_Position") {
@Override
@@ -353,6 +392,22 @@ public class PlaceHolders {
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_WeekVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Weekly);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at postion in top voter"));
placeholders.add(new PlaceHolder("Top_Daily_Position") {
@Override
@@ -384,6 +439,22 @@ public class PlaceHolders {
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_DailyVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Daily);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at postion in top voter"));
// non players
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesCurrent") {
@@ -95,8 +95,8 @@ public class VoteParty implements Listener {
if (event.isCancelled()) {
return;
}
giveRewards();
MiscUtils.getInstance().broadcast(Config.getInstance().getVotePartyBroadcast());
giveRewards();
if (Config.getInstance().getVotePartyIncreaseVotesRquired() > 0) {
ServerData.getInstance().setVotePartyExtraRequired(ServerData.getInstance().getVotePartyExtraRequired()
@@ -174,19 +174,17 @@ public class VoteParty implements Listener {
}
public void giveReward(User user, boolean online) {
/*
* if (PlayerUtils.getInstance().isPlayerOnline(user.getPlayerName())) { if
* (user.getVotePartyVotes() >= Config.getInstance().getUserVotesRequired()) {
* RewardHandler.getInstance().giveReward(user, Config.getInstance().getData(),
* Config.getInstance().getVotePartyRewardsPath()); } } else {
* user.addOfflineOtherReward("VoteParty"); }
*/
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getVotePartyRewardsPath())
.setOnline(online)
.withPlaceHolder("VotesRequired", "" + Config.getInstance().getVotePartyVotesRequired()).send(user);
}
public void giveReward(User user) {
if (Config.getInstance().getVotePartyUserVotesRequired() > 0) {
if (user.getVotePartyVotes() < Config.getInstance().getVotePartyUserVotesRequired()) {
return;
}
}
giveReward(user, user.isOnline());
}
@@ -206,11 +204,13 @@ public class VoteParty implements Listener {
}
if (Config.getInstance().getVotePartyGiveAllPlayers()) {
plugin.debug("Giving all players vote party");
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
giveReward(user);
}
} else {
plugin.debug(ArrayUtils.getInstance().makeStringList(getVotedUsers()));
for (String uuid : getVotedUsers()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
giveReward(user);