Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80ae9dbe2d | ||
|
|
f91a02ba3f | ||
|
|
25d718a37c | ||
|
|
6114373237 | ||
|
|
3c60c99c83 | ||
|
|
e237b382cd | ||
|
|
a07b69cc08 | ||
|
|
7f1ceaf500 | ||
|
|
6b8924c08b | ||
|
|
1f80578e7a | ||
|
|
2f78c4b462 | ||
|
|
89b0d71267 | ||
|
|
77363ce3c7 | ||
|
|
9477c063de | ||
|
|
dc00652e69 | ||
|
|
374ba2ee95 | ||
|
|
8fd8b1ad35 | ||
|
|
2c05ce4870 | ||
|
|
dca689ec37 | ||
|
|
ee4d52377f | ||
|
|
ac41c9413c | ||
|
|
596968f869 | ||
|
|
0d2221d195 | ||
|
|
23fa59f98f | ||
|
|
cb81b61096 | ||
|
|
186917992c | ||
|
|
6b70e4fee4 | ||
|
|
79c98c8b86 | ||
|
|
b8e0830b0b | ||
|
|
1cd1a0ab75 | ||
|
|
481510a1e8 | ||
|
|
3a95ef9b23 | ||
|
|
f7af9210cb | ||
|
|
9f5fe338f4 | ||
|
|
967be0aa19 | ||
|
|
6e0b62a1dd | ||
|
|
a8ec557c9e | ||
|
|
252263da74 | ||
|
|
e7696bed25 | ||
|
|
064451d2b5 | ||
|
|
daa25805fa | ||
|
|
cc010d9738 | ||
|
|
cbe58a1f18 | ||
|
|
c29247d2a0 | ||
|
|
a28cdfc6bf | ||
|
|
7db5cd59da | ||
|
|
0ebb0c9a70 | ||
|
|
9ba20ddd02 | ||
|
|
7fddc0af12 |
No files matched your search
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
org.jboss.ide.eclipse.as.core.singledeployable.deployableList=\n
|
||||
Binary file not shown.
@@ -70,7 +70,7 @@ VoteReminding:
|
||||
# Can add titles and more in the reward file
|
||||
Rewards:
|
||||
Messages:
|
||||
Player: '&aRemeber to vote!'
|
||||
Player: '&aRemember to vote!'
|
||||
Title:
|
||||
Enabled: false
|
||||
Title: '&cRemember to vote!'
|
||||
@@ -155,6 +155,8 @@ Format:
|
||||
TimeUntilVote: '%hours% Hours and %minutes% Minutes'
|
||||
# If there is an error finding out time until next vote
|
||||
Error: '&cCould not caculate time until next vote!'
|
||||
# For sites that have this, requires votedelaydaily to be set to true in the site
|
||||
VoteDelayDaily: 'Tomorrow'
|
||||
|
||||
# Format for /vote last
|
||||
Last:
|
||||
@@ -319,13 +321,22 @@ GUI:
|
||||
Amount: 1
|
||||
Name: '&4Today'
|
||||
Slot: 5
|
||||
Rewards:
|
||||
Shop:
|
||||
Item:
|
||||
Material: 'DIAMOND'
|
||||
Data: 0
|
||||
Amount: 1
|
||||
Name: '&4Voting Rewards'
|
||||
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
|
||||
@@ -564,9 +575,14 @@ VoteParty:
|
||||
ResetEachDay: false
|
||||
# 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!'
|
||||
# Reward files to give
|
||||
Rewards: []
|
||||
|
||||
# Reset milestons at end of the month
|
||||
ResetMilestonesMonthly: false
|
||||
|
||||
MileStones:
|
||||
# Number of votes required
|
||||
# Allows multiple milestones
|
||||
@@ -577,12 +593,12 @@ MileStones:
|
||||
Rewards:
|
||||
Messages:
|
||||
Player: '&aYou got %milestone% milestone votes!'
|
||||
ResetMonthly: false
|
||||
|
||||
VoteStreak:
|
||||
# Valid options: Day, Week, Month
|
||||
Day:
|
||||
# Number of days in a row
|
||||
# Each day requires one vote
|
||||
'2':
|
||||
# Enabled or not
|
||||
Enabled: false
|
||||
@@ -591,7 +607,8 @@ VoteStreak:
|
||||
Messages:
|
||||
Player: "&aYou voted for %Streak% %Type%'s in a row!"
|
||||
Week:
|
||||
# Number of days in a row
|
||||
# Number of weeks in a row
|
||||
# Requires atleast one vote per week
|
||||
'2':
|
||||
# Enabled or not
|
||||
Enabled: false
|
||||
@@ -600,7 +617,8 @@ VoteStreak:
|
||||
Messages:
|
||||
Player: "&aYou voted for %Streak% %Type%'s in a row!"
|
||||
Month:
|
||||
# Number of days in a row
|
||||
# Number of months in a row
|
||||
# Requires atleast 1 vote per month
|
||||
'2':
|
||||
# Enabled or not
|
||||
Enabled: false
|
||||
@@ -693,6 +711,10 @@ DailyAwards:
|
||||
# Most of these values can be left untouched
|
||||
# ------------------------------------------------
|
||||
|
||||
# Number of points to give on vote
|
||||
# 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
|
||||
|
||||
@@ -28,6 +28,9 @@ VoteSites:
|
||||
# Most sites are 24 hours
|
||||
VoteDelay: 24
|
||||
|
||||
# Reset vote delay each day (for certain sites that do this)
|
||||
VoteDelayDaily: false
|
||||
|
||||
# VoteSite Material for GUI's
|
||||
Item:
|
||||
Material: 'DIAMOND'
|
||||
@@ -35,4 +38,8 @@ VoteSites:
|
||||
|
||||
# List of reward files to give to voter
|
||||
Rewards:
|
||||
- 'ExampleReward'
|
||||
- 'ExampleReward'
|
||||
|
||||
# Reward for any site
|
||||
# Similar to AnySiteReward
|
||||
EverySiteReward: []
|
||||
+14
-8
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.Ben12345rocks</groupId>
|
||||
<artifactId>VotingPlugin</artifactId>
|
||||
<version>5.8.3</version>
|
||||
<version>5.9.2</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>VotingPlugin</name>
|
||||
<properties>
|
||||
@@ -55,25 +55,25 @@
|
||||
other plugins -->
|
||||
<relocation>
|
||||
<pattern>com.Ben12345rocks.AdvancedCore</pattern>
|
||||
<shadedPattern>${groupId}.${artifactId}.AdvancedCore</shadedPattern>
|
||||
<shadedPattern>${project.groupId}.${project.artifactId}.AdvancedCore</shadedPattern>
|
||||
</relocation>
|
||||
<!-- Lets relocate the shaded API so we dont cause any conflicts with
|
||||
other plugins -->
|
||||
<relocation>
|
||||
<pattern>net.pl3x.bukkit.chatapi</pattern>
|
||||
<shadedPattern>${groupId}.${artifactId}</shadedPattern>
|
||||
<shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>me.mrten.mysqlapi</pattern>
|
||||
<shadedPattern>${groupId}.${artifactId}.mysqlapi</shadedPattern>
|
||||
<shadedPattern>${project.groupId}.${project.artifactId}.mysqlapi</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.zaxxer.HikariCP</pattern>
|
||||
<shadedPattern>${groupId}.${artifactId}.HikariCP</shadedPattern>
|
||||
<shadedPattern>${project.groupId}.${project.artifactId}.HikariCP</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>org.slf4j.slf4j-simple</pattern>
|
||||
<shadedPattern>${groupId}.${artifactId}.slf4j-simple</shadedPattern>
|
||||
<shadedPattern>${project.groupId}.${project.artifactId}.slf4j-simple</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
@@ -156,13 +156,12 @@
|
||||
<artifactId>AdvancedCore</artifactId>
|
||||
<version>master-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency> <groupId>com.Ben12345rocks</groupId> <artifactId>AdvancedCore</artifactId>
|
||||
<version>LATEST</version> <scope>compile</scope> </dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.12-pre2-SNAPSHOT</version>
|
||||
<version>1.12-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -179,5 +178,12 @@
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/Jars/GAListener.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mythicacraft</groupId>
|
||||
<artifactId>voteroulette</artifactId>
|
||||
<version>3.2.2</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/Jars/VoteRoulette.jar</systemPath>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -2,10 +2,14 @@ package com.Ben12345rocks.VotingPlugin.Commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@@ -40,6 +44,14 @@ import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
|
||||
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
import com.Ben12345rocks.VotingPlugin.VoteParty.VoteParty;
|
||||
import com.Ben12345rocks.VotingPlugin.VoteShop.VoteShop;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Table;
|
||||
import com.google.common.collect.Table.Cell;
|
||||
import com.mythicacraft.voteroulette.VoteRoulette;
|
||||
import com.mythicacraft.voteroulette.Voter;
|
||||
import com.swifteh.GAL.GAL;
|
||||
import com.swifteh.GAL.GALVote;
|
||||
import com.swifteh.GAL.VoteType;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
@@ -122,6 +134,71 @@ public class CommandLoader {
|
||||
}
|
||||
});
|
||||
|
||||
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "ConvertFrom", "GAL" },
|
||||
"VotingPlugin.Commands.AdminVote.ConvertFrom.GAL|" + adminPerm, "Convert from GAL") {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
if (Bukkit.getServer().getPluginManager().getPlugin("GAListener") != null) {
|
||||
Table<String, Integer, Long> totals = GAL.p.db.getTotals();
|
||||
for (Cell<String, Integer, Long> entry : totals.cellSet()) {
|
||||
String name = entry.getRowKey();
|
||||
int total = entry.getColumnKey();
|
||||
User user = UserManager.getInstance().getVotingPluginUser(name);
|
||||
user.setAllTimeTotal(user.getAllTimeTotal() + total);
|
||||
}
|
||||
sender.sendMessage("Totals added");
|
||||
|
||||
ListMultimap<VoteType, GALVote> votes = GAL.p.galVote;
|
||||
for (Entry<VoteType, GALVote> entry : votes.entries()) {
|
||||
if (entry.getKey().equals(VoteType.NORMAL)) {
|
||||
String msg = entry.getValue().message;
|
||||
List<String> cmds = entry.getValue().commands;
|
||||
String service = entry.getValue().key;
|
||||
if (service.equalsIgnoreCase("default")) {
|
||||
|
||||
} else {
|
||||
VoteSite site = plugin.getVoteSite(service);
|
||||
if (site == null) {
|
||||
sender.sendMessage("Failed to create vote site, autogeneratesites false?");
|
||||
return;
|
||||
}
|
||||
ConfigurationSection data = configVoteSites.getData()
|
||||
.getConfigurationSection(configVoteSites.getRewardsPath(site.getKey()));
|
||||
data.set("Commands.Console", cmds);
|
||||
data.set("Messages.Player", msg);
|
||||
configVoteSites.saveData();
|
||||
sender.sendMessage("created vote site: " + site.getKey());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage("GAL not loaded");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "ConvertFrom", "VoteRoulette" },
|
||||
"VotingPlugin.Commands.AdminVote.ConvertFrom.GAL|" + adminPerm, "Convert from VoteRoulette") {
|
||||
|
||||
@SuppressWarnings("static-access")
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
if (Bukkit.getServer().getPluginManager().getPlugin("VoteRoulette") != null) {
|
||||
for (OfflinePlayer offPlayer : Bukkit.getOfflinePlayers()) {
|
||||
Voter voter = VoteRoulette.getInstance().getVoterManager().getVoter(offPlayer.getUniqueId(),
|
||||
offPlayer.getName());
|
||||
User user = UserManager.getInstance().getVotingPluginUser(offPlayer);
|
||||
user.setAllTimeTotal(user.getAllTimeTotal() + voter.getStatSheet().getLifetimeVotes());
|
||||
user.setMonthTotal(user.getMonthTotal() + voter.getStatSheet().getCurrentMonthVotes());
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage("VoteRoulette not loaded");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
plugin.adminVoteCommand.add(new CommandHandler(new String[] { "SetPoints", "(player)", "(number)" },
|
||||
"VotingPlugin.Commands.AdminVote.SetPoints|" + adminPerm, "Set players voting points") {
|
||||
|
||||
@@ -279,8 +356,10 @@ public class CommandLoader {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
sender.sendMessage("Starting to convert");
|
||||
UserStorage prevStorage = UserStorage.valueOf(args[1].toUpperCase());
|
||||
plugin.convertDataStorage(prevStorage, AdvancedCoreHook.getInstance().getStorageType());
|
||||
sender.sendMessage("Finished converting!");
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@@ -1090,7 +1169,12 @@ public class CommandLoader {
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
if (!Config.getInstance().getCommandsUseGUIVote()) {
|
||||
CommandVote.getInstance().voteURLs(sender);
|
||||
if (isPlayer(sender)) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
|
||||
user.sendMessage(Commands.getInstance().voteURLs(user));
|
||||
} else {
|
||||
sender.sendMessage(Commands.getInstance().voteURLs(null));
|
||||
}
|
||||
} else {
|
||||
if (sender instanceof Player) {
|
||||
PlayerGUIs.getInstance().openVoteURL((Player) sender);
|
||||
@@ -1108,6 +1192,27 @@ public class CommandLoader {
|
||||
plugin.voteCommand.addAll(avCommands);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the adminPerm
|
||||
*/
|
||||
public String getAdminPerm() {
|
||||
return adminPerm;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the modPerm
|
||||
*/
|
||||
public String getModPerm() {
|
||||
return modPerm;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the playerPerm
|
||||
*/
|
||||
public String getPlayerPerm() {
|
||||
return playerPerm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the commands.
|
||||
*
|
||||
|
||||
@@ -122,9 +122,9 @@ public class Commands {
|
||||
|
||||
for (CommandHandler cmdHandle : plugin.adminVoteCommand) {
|
||||
if (sender.hasPermission(cmdHandle.getPerm()) && requirePerms) {
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/av"), cmdHandle.getHelpLine("/av"));
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/adminvote"), cmdHandle.getHelpLine("/adminvote"));
|
||||
} else {
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/av"), cmdHandle.getHelpLine("/av"));
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/adminvote"), cmdHandle.getHelpLine("/adminvote"));
|
||||
}
|
||||
}
|
||||
ArrayList<String> unsortedList = new ArrayList<String>();
|
||||
@@ -587,29 +587,39 @@ public class Commands {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime lastVote = LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault());
|
||||
|
||||
int votedelay = voteSite.getVoteDelay();
|
||||
if (votedelay == 0) {
|
||||
String errorMsg = config.getFormatCommandsVoteNextInfoError();
|
||||
info = errorMsg;
|
||||
} else {
|
||||
|
||||
LocalDateTime nextvote = lastVote.plusHours(votedelay);
|
||||
|
||||
if (time == 0 || now.isAfter(nextvote)) {
|
||||
String canVoteMsg = config.getFormatCommandsVoteNextInfoCanVote();
|
||||
info = canVoteMsg;
|
||||
if (!voteSite.isVoteDelayDaily()) {
|
||||
int votedelay = voteSite.getVoteDelay();
|
||||
if (votedelay == 0) {
|
||||
String errorMsg = config.getFormatCommandsVoteNextInfoError();
|
||||
info = errorMsg;
|
||||
} else {
|
||||
Duration dur = Duration.between(now, nextvote);
|
||||
|
||||
long diffHours = dur.getSeconds() / (60 * 60);
|
||||
long diffMinutes = dur.getSeconds() / 60 - diffHours * 60;
|
||||
LocalDateTime nextvote = lastVote.plusHours(votedelay);
|
||||
|
||||
String timeMsg = config.getFormatCommandsVoteNextInfoTime();
|
||||
timeMsg = StringUtils.getInstance().replaceIgnoreCase(timeMsg, "%hours%", Long.toString(diffHours));
|
||||
timeMsg = StringUtils.getInstance().replaceIgnoreCase(timeMsg, "%minutes%", Long.toString(diffMinutes));
|
||||
info = timeMsg;
|
||||
if (time == 0 || now.isAfter(nextvote)) {
|
||||
info = config.getFormatCommandsVoteNextInfoCanVote();
|
||||
} else {
|
||||
Duration dur = Duration.between(now, nextvote);
|
||||
|
||||
long diffHours = dur.getSeconds() / (60 * 60);
|
||||
long diffMinutes = dur.getSeconds() / 60 - diffHours * 60;
|
||||
|
||||
String timeMsg = config.getFormatCommandsVoteNextInfoTime();
|
||||
timeMsg = StringUtils.getInstance().replaceIgnoreCase(timeMsg, "%hours%", Long.toString(diffHours));
|
||||
timeMsg = StringUtils.getInstance().replaceIgnoreCase(timeMsg, "%minutes%",
|
||||
Long.toString(diffMinutes));
|
||||
info = timeMsg;
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (lastVote.getDayOfYear()==now.getDayOfYear() && lastVote.getYear()==now.getYear()) {
|
||||
info = config.getFormatCommandsVoteNextInfoVoteDelayDaily();
|
||||
} else {
|
||||
info = config.getFormatCommandsVoteNextInfoCanVote();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return info;
|
||||
}
|
||||
@@ -694,9 +704,9 @@ public class Commands {
|
||||
|
||||
for (CommandHandler cmdHandle : plugin.voteCommand) {
|
||||
if (sender.hasPermission(cmdHandle.getPerm()) && requirePerms) {
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/v"), cmdHandle.getHelpLine("/v"));
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/vote"), cmdHandle.getHelpLine("/vote"));
|
||||
} else {
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/v"), cmdHandle.getHelpLine("/v"));
|
||||
unsorted.put(cmdHandle.getHelpLineCommand("/vote"), cmdHandle.getHelpLine("/vote"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -740,13 +750,8 @@ public class Commands {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vote UR ls.
|
||||
*
|
||||
* @return the string[]
|
||||
*/
|
||||
public String[] voteURLs() {
|
||||
|
||||
public String[] voteURLs(User user) {
|
||||
ArrayList<String> sites = new ArrayList<String>();
|
||||
|
||||
List<String> title = config.getFormatCommandsVoteText();
|
||||
@@ -766,6 +771,15 @@ public class Commands {
|
||||
sites.add(msg);
|
||||
}
|
||||
}
|
||||
if (user != null) {
|
||||
HashMap<String, String> phs = new HashMap<String, String>();
|
||||
phs.put("DailyTotal", "" + user.getDailyTotal());
|
||||
phs.put("WeekTotal", "" + user.getWeeklyTotal());
|
||||
phs.put("MonthTotal", "" + user.getMonthTotal());
|
||||
phs.put("Total", "" + user.getAllTimeTotal());
|
||||
|
||||
sites = ArrayUtils.getInstance().replacePlaceHolder(sites, phs);
|
||||
}
|
||||
sites = ArrayUtils.getInstance().colorize(sites);
|
||||
return ArrayUtils.getInstance().convert(sites);
|
||||
}
|
||||
|
||||
@@ -431,19 +431,4 @@ public class CommandVote implements CommandExecutor {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vote UR ls.
|
||||
*
|
||||
* @param sender
|
||||
* the sender
|
||||
*/
|
||||
public void voteURLs(CommandSender sender) {
|
||||
if (sender instanceof Player) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser((Player) sender);
|
||||
user.sendMessage(Commands.getInstance().voteURLs());
|
||||
} else {
|
||||
sender.sendMessage(Commands.getInstance().voteURLs());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.Listeners.BooleanListene
|
||||
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.Config.Config;
|
||||
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
|
||||
import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
|
||||
|
||||
@@ -59,7 +58,7 @@ public class AdminGUI {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
Player player = event.getWhoClicked();
|
||||
if (event.getClick().equals(ClickType.MIDDLE)) {
|
||||
player.closeInventory();
|
||||
|
||||
new ValueRequest().requestString(player, new StringListener() {
|
||||
|
||||
@Override
|
||||
@@ -76,19 +75,6 @@ public class AdminGUI {
|
||||
}
|
||||
});
|
||||
|
||||
lore = new ArrayList<String>();
|
||||
buttons.add(new BInventoryButton("&cConfig", ArrayUtils.getInstance().convert(lore),
|
||||
new ItemStack(Material.STONE)) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
Player player = event.getWhoClicked();
|
||||
openAdminGUIConfig(player);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
lore = new ArrayList<String>();
|
||||
buttons.add(new BInventoryButton("&cReload Plugin", ArrayUtils.getInstance().convert(lore),
|
||||
new ItemStack(Material.STONE, 1, (short) 3)) {
|
||||
@@ -108,39 +94,6 @@ public class AdminGUI {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Open admin GUI config.
|
||||
*
|
||||
* @param player
|
||||
* the player
|
||||
*/
|
||||
public void openAdminGUIConfig(Player player) {
|
||||
BInventory inv = new BInventory("Config");
|
||||
inv.addButton(inv.getNextSlot(),
|
||||
new BInventoryButton("BroadcastVote",
|
||||
new String[] { "Currently: " + Config.getInstance().getBroadCastVotesEnabled() },
|
||||
new ItemStack(Material.STONE)) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
Player player = event.getWhoClicked();
|
||||
new ValueRequest().requestBoolean(player, "" + Config.getInstance().getBroadCastVotesEnabled(),
|
||||
new BooleanListener() {
|
||||
|
||||
@Override
|
||||
public void onInput(Player player, boolean value) {
|
||||
Config.getInstance().setBroadcastVoteEnabled(value);
|
||||
player.sendMessage("Value set");
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
inv.openInventory(player);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Open admin GUI vote sites.
|
||||
*
|
||||
@@ -215,7 +168,7 @@ public class AdminGUI {
|
||||
public void onClick(ClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
Player player = event.getWhoClicked();
|
||||
player.closeInventory();
|
||||
|
||||
new ValueRequest().requestString(player, voteSite.getServiceSite(), null,
|
||||
new StringListener() {
|
||||
|
||||
@@ -239,7 +192,6 @@ public class AdminGUI {
|
||||
public void onClick(ClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
Player player = event.getWhoClicked();
|
||||
player.closeInventory();
|
||||
new ValueRequest().requestString(player, voteSite.getServiceSite(), null, new StringListener() {
|
||||
|
||||
@Override
|
||||
@@ -262,7 +214,7 @@ public class AdminGUI {
|
||||
public void onClick(ClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
Player player = event.getWhoClicked();
|
||||
player.closeInventory();
|
||||
|
||||
new ValueRequest().requestString(player, voteSite.getVoteURL(), null, new StringListener() {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.Ben12345rocks.VotingPlugin.Commands.GUI;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -25,6 +24,7 @@ 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.VoteShop.VoteShop;
|
||||
|
||||
public class PlayerGUIs {
|
||||
static PlayerGUIs instance = new PlayerGUIs();
|
||||
@@ -62,8 +62,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -72,8 +71,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -82,8 +80,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -91,9 +88,11 @@ public class PlayerGUIs {
|
||||
}
|
||||
|
||||
public void openVoteGUI(Player player, User user) {
|
||||
if (!player.getName().equals(user.getPlayerName())
|
||||
if ((!player.getName().equals(user.getPlayerName())
|
||||
&& !player.hasPermission("VotingPlugin.Commands.Vote.GUI.Other")
|
||||
&& !player.hasPermission("VotingPlugin.Mod")) {
|
||||
&& !player.hasPermission("VotingPlugin.Mod"))
|
||||
|| (!player.hasPermission("VotingPlugin.Commands.Vote.GUI")
|
||||
&& !player.hasPermission("VotingPlugin.Player"))) {
|
||||
player.sendMessage(AdvancedCoreHook.getInstance().getFormatNoPerms());
|
||||
return;
|
||||
}
|
||||
@@ -109,7 +108,7 @@ public class PlayerGUIs {
|
||||
lore = ArrayUtils.getInstance().convert(Config.getInstance().getVoteGUISlotLore(slot));
|
||||
if (lore.length == 0) {
|
||||
if (slot.equalsIgnoreCase("url")) {
|
||||
lore = Commands.getInstance().voteURLs();
|
||||
lore = Commands.getInstance().voteURLs(user);
|
||||
} else if (slot.equalsIgnoreCase("next")) {
|
||||
lore = Commands.getInstance().voteCommandNext(user);
|
||||
} else if (slot.equalsIgnoreCase("last")) {
|
||||
@@ -130,9 +129,7 @@ public class PlayerGUIs {
|
||||
} else if (slot.equalsIgnoreCase("today")) {
|
||||
lore = Commands.getInstance().voteToday();
|
||||
} else if (slot.equalsIgnoreCase("help")) {
|
||||
ArrayList<String> loreSt = new ArrayList<String>();
|
||||
loreSt = ArrayUtils.getInstance().comptoString(Commands.getInstance().voteHelpText(player));
|
||||
lore = ArrayUtils.getInstance().convert(loreSt);
|
||||
lore = new String[] { "Click to view help" };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +158,9 @@ public class PlayerGUIs {
|
||||
} else if (slot.equalsIgnoreCase("today")) {
|
||||
openVoteToday(player);
|
||||
} else if (slot.equalsIgnoreCase("help")) {
|
||||
player.performCommand("v help");
|
||||
player.performCommand("vote help");
|
||||
} else if (slot.equalsIgnoreCase("shop")) {
|
||||
VoteShop.getInstance().voteShop(player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,11 +182,17 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteLast(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.openInventory(player);
|
||||
}
|
||||
|
||||
@@ -202,11 +207,18 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteNext(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.openInventory(player);
|
||||
}
|
||||
|
||||
@@ -220,8 +232,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -230,8 +241,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -241,8 +251,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -251,8 +260,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -261,8 +269,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -272,11 +279,18 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteBest(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
|
||||
inv.openInventory(player);
|
||||
}
|
||||
|
||||
@@ -301,6 +315,13 @@ public class PlayerGUIs {
|
||||
});
|
||||
}
|
||||
}
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.openInventory(player);
|
||||
}
|
||||
|
||||
@@ -354,6 +375,13 @@ public class PlayerGUIs {
|
||||
openVoteTop(player, cur.next());
|
||||
}
|
||||
});
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.setPages(true);
|
||||
inv.setMaxInvSize(Config.getInstance().getGUIVoteTopSize());
|
||||
inv.openInventory(player);
|
||||
@@ -368,8 +396,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteTotal(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Config.getInstance().getGUIVoteTotalWeekTotalItem())
|
||||
@@ -377,8 +404,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteTotal(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Config.getInstance().getGUIVoteTotalMonthTotalItem())
|
||||
@@ -386,8 +412,7 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteTotal(player, getSelectedPlayer(player));
|
||||
|
||||
}
|
||||
});
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Config.getInstance().getGUIVoteTotalAllTimeTotalItem())
|
||||
@@ -395,8 +420,13 @@ public class PlayerGUIs {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
Player player = clickEvent.getPlayer();
|
||||
openVoteTotal(player, getSelectedPlayer(player));
|
||||
}
|
||||
});
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.openInventory(player);
|
||||
@@ -431,7 +461,7 @@ public class PlayerGUIs {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(event.getPlayer());
|
||||
Player player = event.getWhoClicked();
|
||||
player.closeInventory();
|
||||
user.sendMessage(Commands.getInstance().voteURLs());
|
||||
user.sendMessage(Commands.getInstance().voteURLs(user));
|
||||
|
||||
}
|
||||
});
|
||||
@@ -468,6 +498,14 @@ public class PlayerGUIs {
|
||||
count++;
|
||||
}
|
||||
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
|
||||
BInventory.openInventory(player, inv);
|
||||
}
|
||||
|
||||
@@ -506,6 +544,13 @@ public class PlayerGUIs {
|
||||
}
|
||||
});
|
||||
|
||||
inv.addButton(new BInventoryButton(new ItemBuilder(Material.PAPER, 1).setName("&8Back to VoteGUI")) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
|
||||
}
|
||||
});
|
||||
inv.openInventory(player);
|
||||
}
|
||||
|
||||
@@ -568,6 +613,6 @@ public class PlayerGUIs {
|
||||
}
|
||||
}
|
||||
|
||||
BInventory.openInventory(player, inv);
|
||||
inv.openInventory(player);
|
||||
}
|
||||
}
|
||||
@@ -366,7 +366,6 @@ public class Config extends YMLFile {
|
||||
*/
|
||||
public String getFormatCommandsVoteNextInfoError() {
|
||||
return getData().getString("Format.Commands.Vote.Next.Info.Error", "");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -377,7 +376,10 @@ public class Config extends YMLFile {
|
||||
public String getFormatCommandsVoteNextInfoTime() {
|
||||
return getData().getString("Format.Commands.Vote.Next.Info.TimeUntilVote",
|
||||
"&cCould not caculate time until next vote!");
|
||||
}
|
||||
|
||||
public String getFormatCommandsVoteNextInfoVoteDelayDaily() {
|
||||
return getData().getString("Format.Commands.Vote.Next.Info.VoteDelayDaily", "Tomorrow");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -804,8 +806,8 @@ public class Config extends YMLFile {
|
||||
return getData().getBoolean("LogVotesToFile");
|
||||
}
|
||||
|
||||
public boolean getMilestoneResetMonthly(int milestones) {
|
||||
return getData().getBoolean("MileStones." + milestones + ".ResetMonthly");
|
||||
public boolean getResetMilestonesMonthly() {
|
||||
return getData().getBoolean("ResetMilestonesMonthly");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1054,6 +1056,14 @@ public class Config extends YMLFile {
|
||||
return "VoteParty.Rewards";
|
||||
}
|
||||
|
||||
public String getVotePartyBroadcast() {
|
||||
return getData().getString("VoteParty.Broadcast", "");
|
||||
}
|
||||
|
||||
public int getPointsOnVote() {
|
||||
return getData().getInt("PointsOnVote", 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the vote party votes required.
|
||||
*
|
||||
|
||||
@@ -66,31 +66,6 @@ public class ConfigVoteSites extends YMLFile {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cumulative rewards.
|
||||
*
|
||||
* @param siteName
|
||||
* the site name
|
||||
* @return the cumulative rewards
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public ArrayList<String> getCumulativeRewards(String siteName) {
|
||||
|
||||
return (ArrayList<String>) getData(siteName).getList("Cumulative.Rewards", new ArrayList<String>());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cumulative reward votes amount.
|
||||
*
|
||||
* @param siteName
|
||||
* the site name
|
||||
* @return the cumulative reward votes amount
|
||||
*/
|
||||
public int getCumulativeRewardVotesAmount(String siteName) {
|
||||
return getData(siteName).getInt("Cumulative.Votes");
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the data.
|
||||
*
|
||||
@@ -99,8 +74,7 @@ public class ConfigVoteSites extends YMLFile {
|
||||
* @return the data
|
||||
*/
|
||||
public ConfigurationSection getData(String siteName) {
|
||||
ConfigurationSection data = getData().getConfigurationSection("VoteSites." + siteName);
|
||||
return data;
|
||||
return getData().getConfigurationSection("VoteSites." + siteName);
|
||||
}
|
||||
|
||||
public String getDisplayName(String site) {
|
||||
@@ -133,6 +107,10 @@ public class ConfigVoteSites extends YMLFile {
|
||||
return "VoteSites." + siteName + ".Rewards";
|
||||
}
|
||||
|
||||
public String getEverySiteRewardPath() {
|
||||
return "EverySiteReward";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the service site.
|
||||
*
|
||||
@@ -166,6 +144,10 @@ public class ConfigVoteSites extends YMLFile {
|
||||
return getData(siteName).getBoolean("Enabled");
|
||||
}
|
||||
|
||||
public boolean getVoteSiteResetVoteDelayDaily(String siteName) {
|
||||
return getData(siteName).getBoolean("VoteDelayDaily");
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the vote site file.
|
||||
*
|
||||
@@ -272,9 +254,7 @@ public class ConfigVoteSites extends YMLFile {
|
||||
* @return true, if is service site good
|
||||
*/
|
||||
public boolean isServiceSiteGood(String siteName) {
|
||||
if (getServiceSite(siteName) == null) {
|
||||
return false;
|
||||
} else if (getServiceSite(siteName).equalsIgnoreCase("")) {
|
||||
if (getServiceSite(siteName) == null || getServiceSite(siteName).equals("")) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -288,9 +268,7 @@ public class ConfigVoteSites extends YMLFile {
|
||||
* @return true, if is vote URL good
|
||||
*/
|
||||
public boolean isVoteURLGood(String siteName) {
|
||||
if (getVoteURL(siteName) == null) {
|
||||
return false;
|
||||
} else if (getVoteURL(siteName).equalsIgnoreCase("")) {
|
||||
if (getVoteURL(siteName) == null || getVoteURL(siteName).equals("")) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -47,7 +47,7 @@ public class VotiferEvent implements Listener {
|
||||
public void run() {
|
||||
synchronized (plugin) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(playerName);
|
||||
if (!user.hasJoinedBefore() && !config.allowUnJoined()) {
|
||||
if (!user.hasLoggedOnBefore() && !config.allowUnJoined()) {
|
||||
plugin.getLogger().warning("Player " + playerName
|
||||
+ " has not joined before, disregarding vote, set AllowUnjoined to true to prevent this");
|
||||
return;
|
||||
@@ -128,8 +128,8 @@ public class VotiferEvent implements Listener {
|
||||
public void onVotiferEvent(VotifierEvent event) {
|
||||
|
||||
Vote vote = event.getVote();
|
||||
String voteSite = vote.getServiceName();
|
||||
String voteUsername = vote.getUsername();
|
||||
final String voteSite = vote.getServiceName();
|
||||
final String voteUsername = vote.getUsername();
|
||||
|
||||
if (voteUsername.length() == 0) {
|
||||
plugin.getLogger().warning("No name from vote on " + voteSite);
|
||||
@@ -141,12 +141,14 @@ public class VotiferEvent implements Listener {
|
||||
plugin.debug("PlayerUsername: " + voteUsername);
|
||||
plugin.debug("VoteSite: " + voteSite);
|
||||
|
||||
String voteSiteName = plugin.getVoteSiteName(voteSite);
|
||||
|
||||
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
String voteSiteName = plugin.getVoteSiteName(voteSite);
|
||||
|
||||
PlayerVoteEvent voteEvent = new PlayerVoteEvent(plugin.getVoteSite(voteSiteName),
|
||||
UserManager.getInstance().getVotingPluginUser(voteUsername));
|
||||
plugin.getServer().getPluginManager().callEvent(voteEvent);
|
||||
@@ -161,12 +163,10 @@ public class VotiferEvent implements Listener {
|
||||
plugin.getLogger()
|
||||
.warning("VoteSite " + voteSiteName + " doe not exist, generaterating one...");
|
||||
ConfigVoteSites.getInstance().generateVoteSite(voteSiteName);
|
||||
ConfigVoteSites.getInstance().setServiceSite(voteSiteName, voteSite);
|
||||
}
|
||||
} else if (Config.getInstance().getAutoCreateVoteSites()) {
|
||||
plugin.getLogger().warning("VoteSite " + voteSiteName + " doe not exist, generaterating one...");
|
||||
ConfigVoteSites.getInstance().generateVoteSite(voteSiteName);
|
||||
ConfigVoteSites.getInstance().setServiceSite(voteSiteName, voteSite);
|
||||
}
|
||||
|
||||
playerVote(voteUsername, voteSite);
|
||||
|
||||
@@ -9,18 +9,19 @@ import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.CommandHandler;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.Reward;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.RewardHandler;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.UserStorage;
|
||||
@@ -51,7 +52,6 @@ import com.Ben12345rocks.VotingPlugin.Events.VotingPluginUpdateEvent;
|
||||
import com.Ben12345rocks.VotingPlugin.Objects.SignHandler;
|
||||
import com.Ben12345rocks.VotingPlugin.Objects.User;
|
||||
import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
|
||||
import com.Ben12345rocks.VotingPlugin.OtherRewards.OtherVoteReward;
|
||||
import com.Ben12345rocks.VotingPlugin.Signs.Signs;
|
||||
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoterHandler;
|
||||
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
@@ -125,69 +125,39 @@ public class Main extends JavaPlugin {
|
||||
throw new RuntimeException("Invalid Storage Method");
|
||||
}
|
||||
UserStorage cur = AdvancedCoreHook.getInstance().getStorageType();
|
||||
AdvancedCoreHook.getInstance().setStorageType(from);
|
||||
loadMySQL();
|
||||
HashMap<User, HashMap<String, String>> data = new HashMap<User, HashMap<String, String>>();
|
||||
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
|
||||
try {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
|
||||
|
||||
AdvancedCoreHook.getInstance().setStorageType(from);
|
||||
|
||||
ArrayList<String> choiceRewards = user.getChoiceRewards();
|
||||
String inputMethod = user.getInputMethod();
|
||||
ArrayList<String> offlineRewards = user.getOfflineRewards();
|
||||
HashMap<Reward, ArrayList<Long>> timed = user.getTimedRewards();
|
||||
int allTime = user.getAllTimeTotal();
|
||||
int dailyTotal = user.getDailyTotal();
|
||||
HashMap<String, Boolean> mileStone = user.getHasGottenMilestone();
|
||||
HashMap<VoteSite, Long> lastVotes = user.getLastVotes();
|
||||
int monthTotals = user.getMonthTotal();
|
||||
ArrayList<String> otherRewards = user.getOfflineOtherRewards();
|
||||
ArrayList<String> offlineVotes = user.getOfflineVotes();
|
||||
int points = user.getPoints();
|
||||
int votePartyVotes = user.getVotePartyVotes();
|
||||
int weeklyTotal = user.getWeeklyTotal();
|
||||
|
||||
int highestDailyTotal = user.getHighestDailyTotal();
|
||||
int highestWeeklyTotal = user.getHighestWeeklyTotal();
|
||||
int highestMonthlyTotal = user.getHighestMonthlyTotal();
|
||||
int voteStreakDay = user.getDayVoteStreak();
|
||||
int voteStreakWeek = user.getWeekVoteStreak();
|
||||
int voteStreakMonth = user.getMonthVoteStreak();
|
||||
int bestVoteStreakDay = user.getBestDayVoteStreak();
|
||||
int bestVoteStreakWeek = user.getBestWeekVoteStreak();
|
||||
int bestVoteStreakMonth = user.getBestMonthVoteStreak();
|
||||
|
||||
AdvancedCoreHook.getInstance().setStorageType(to);
|
||||
|
||||
user.setChoiceRewards(choiceRewards);
|
||||
user.setInputMethod(inputMethod);
|
||||
user.setOfflineRewards(offlineRewards);
|
||||
user.setTimedRewards(timed);
|
||||
user.setAllTimeTotal(allTime);
|
||||
user.setDailyTotal(dailyTotal);
|
||||
user.setHasGottenMilestone(mileStone);
|
||||
user.setLastVotes(lastVotes);
|
||||
user.setMonthTotal(monthTotals);
|
||||
user.setOfflineOtherRewards(otherRewards);
|
||||
user.setOfflineVotes(offlineVotes);
|
||||
user.setPoints(points);
|
||||
user.setVotePartyVotes(votePartyVotes);
|
||||
user.setWeeklyTotal(weeklyTotal);
|
||||
|
||||
user.setHighestDailyTotal(highestDailyTotal);
|
||||
user.setHighestWeeklyTotal(highestWeeklyTotal);
|
||||
user.setHighestMonthlyTotal(highestMonthlyTotal);
|
||||
user.setDayVoteStreak(voteStreakDay);
|
||||
user.setWeekVoteStreak(voteStreakWeek);
|
||||
user.setMonthVoteStreak(voteStreakMonth);
|
||||
user.setBestDayVoteStreak(bestVoteStreakDay);
|
||||
user.setBestWeekVoteStreak(bestVoteStreakWeek);
|
||||
user.setBestMonthVoteStreak(bestVoteStreakMonth);
|
||||
HashMap<String, String> values = new HashMap<String, String>();
|
||||
for (String key : user.getData().getKeys()) {
|
||||
values.put(key, user.getData().getString(key));
|
||||
}
|
||||
data.put(user, values);
|
||||
} catch (Exception e) {
|
||||
AdvancedCoreHook.getInstance().debug(e);
|
||||
plugin.getLogger().warning("Exception occoured for '" + uuid + "': " + e.getMessage()
|
||||
+ ", turn debug on to see full stack traces");
|
||||
}
|
||||
}
|
||||
|
||||
AdvancedCoreHook.getInstance().setStorageType(to);
|
||||
loadMySQL();
|
||||
|
||||
for (Entry<User, HashMap<String, String>> entry : data.entrySet()) {
|
||||
try {
|
||||
for (Entry<String, String> values : entry.getValue().entrySet()) {
|
||||
entry.getKey().getData().setString(values.getKey(), values.getValue());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
plugin.getLogger().warning("Exception occoured for '" + entry.getKey().getUUID() + "': "
|
||||
+ e.getMessage() + ", turn debug on to see full stack traces");
|
||||
}
|
||||
}
|
||||
AdvancedCoreHook.getInstance().setStorageType(cur);
|
||||
}
|
||||
|
||||
@@ -234,7 +204,7 @@ public class Main extends JavaPlugin {
|
||||
return voteSite;
|
||||
}
|
||||
}
|
||||
if (config.getAutoCreateVoteSites() && !configVoteSites.getVoteSitesNames().contains(siteName)) {
|
||||
if (Config.getInstance().getAutoCreateVoteSites() && !configVoteSites.getVoteSitesNames().contains(siteName)) {
|
||||
configVoteSites.generateVoteSite(siteName);
|
||||
return new VoteSite(siteName.replace(".", "_"));
|
||||
}
|
||||
@@ -338,13 +308,7 @@ public class Main extends JavaPlugin {
|
||||
}
|
||||
|
||||
BStatsMetrics metrics = new BStatsMetrics(this);
|
||||
metrics.addCustomChart(new BStatsMetrics.SimplePie("requestapi_defaultmethod") {
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return Config.getInstance().getRequestAPIDefaultMethod();
|
||||
}
|
||||
});
|
||||
metrics.addCustomChart(new BStatsMetrics.SimplePie("extrarewards_firstvote") {
|
||||
|
||||
@Override
|
||||
@@ -357,6 +321,18 @@ public class Main extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
});
|
||||
metrics.addCustomChart(new BStatsMetrics.SimplePie("extrarewards_everysite") {
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
if (RewardHandler.getInstance().hasRewards(ConfigVoteSites.getInstance().getData(),
|
||||
ConfigVoteSites.getInstance().getEverySiteRewardPath())) {
|
||||
return "True";
|
||||
} else {
|
||||
return "False";
|
||||
}
|
||||
}
|
||||
});
|
||||
metrics.addCustomChart(new BStatsMetrics.SimplePie("extrarewards_allsites") {
|
||||
|
||||
@Override
|
||||
@@ -631,6 +607,7 @@ public class Main extends JavaPlugin {
|
||||
Signs.getInstance().storeSigns();
|
||||
}
|
||||
}, 0);
|
||||
HandlerList.unregisterAll(plugin);
|
||||
plugin = null;
|
||||
}
|
||||
|
||||
@@ -737,7 +714,6 @@ public class Main extends JavaPlugin {
|
||||
pm.registerEvents(new PlayerInteract(this), this);
|
||||
|
||||
pm.registerEvents(new VotingPluginUpdateEvent(this), this);
|
||||
pm.registerEvents(OtherVoteReward.getInstance(), this);
|
||||
|
||||
plugin.debug("Loaded Events");
|
||||
|
||||
@@ -767,6 +743,7 @@ public class Main extends JavaPlugin {
|
||||
}
|
||||
});
|
||||
loadTimer();
|
||||
|
||||
}
|
||||
|
||||
public void setUpdate(boolean update) {
|
||||
@@ -781,6 +758,7 @@ public class Main extends JavaPlugin {
|
||||
configVoteSites = ConfigVoteSites.getInstance();
|
||||
config.setup();
|
||||
configVoteSites.setup();
|
||||
|
||||
plugin.debug("Loaded Files");
|
||||
|
||||
}
|
||||
@@ -788,31 +766,33 @@ public class Main extends JavaPlugin {
|
||||
/**
|
||||
* Update.
|
||||
*/
|
||||
public synchronized void update() {
|
||||
public void update() {
|
||||
if (update && plugin != null) {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
|
||||
if (AdvancedCoreHook.getInstance().getMysql() == null) {
|
||||
plugin.debug("MySQL not loaded yet");
|
||||
return;
|
||||
} else {
|
||||
AdvancedCoreHook.getInstance().getMysql().clearCache();
|
||||
synchronized (plugin) {
|
||||
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
|
||||
if (AdvancedCoreHook.getInstance().getMysql() == null) {
|
||||
plugin.debug("MySQL not loaded yet");
|
||||
return;
|
||||
} else {
|
||||
AdvancedCoreHook.getInstance().getMysql().clearCache();
|
||||
}
|
||||
}
|
||||
update = false;
|
||||
plugin.debug("Starting background task");
|
||||
try {
|
||||
TopVoterHandler.getInstance().updateTopVoters();
|
||||
Commands.getInstance().updateVoteToday();
|
||||
ServerData.getInstance().updateValues();
|
||||
Signs.getInstance().updateSigns();
|
||||
plugin.debug("Background task ran");
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
plugin.getLogger().info("Looks like something went wrong.");
|
||||
}
|
||||
}
|
||||
update = false;
|
||||
plugin.debug("Starting background task");
|
||||
try {
|
||||
TopVoterHandler.getInstance().updateTopVoters();
|
||||
Commands.getInstance().updateVoteToday();
|
||||
ServerData.getInstance().updateValues();
|
||||
Signs.getInstance().updateSigns();
|
||||
plugin.debug("Background task ran");
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
plugin.getLogger().info("Looks like something went wrong.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -826,6 +806,21 @@ public class Main extends JavaPlugin {
|
||||
AdvancedCoreHook.getInstance().allowDownloadingFromSpigot(15358);
|
||||
AdvancedCoreHook.getInstance().setExtraDebug(Config.getInstance().getExtraDebug());
|
||||
AdvancedCoreHook.getInstance().setStorageType(UserStorage.valueOf(Config.getInstance().getDataStorage()));
|
||||
loadMySQL();
|
||||
|
||||
AdvancedCoreHook.getInstance().setCheckOnWorldChange(Config.getInstance().getCheckOnWorldChange());
|
||||
AdvancedCoreHook.getInstance().setDebug(Config.getInstance().getDebugEnabled());
|
||||
AdvancedCoreHook.getInstance().setDebugIngame(Config.getInstance().getDebugInfoIngame());
|
||||
AdvancedCoreHook.getInstance().setDefaultRequestMethod(Config.getInstance().getRequestAPIDefaultMethod());
|
||||
AdvancedCoreHook.getInstance().setDisabledRequestMethods(Config.getInstance().getRequestAPIDisabledMethods());
|
||||
AdvancedCoreHook.getInstance().setFormatNoPerms(Config.getInstance().getFormatNoPerms());
|
||||
AdvancedCoreHook.getInstance().setFormatNotNumber(Config.getInstance().getFormatNotNumber());
|
||||
AdvancedCoreHook.getInstance().setHelpLine(Config.getInstance().getFormatHelpLine());
|
||||
AdvancedCoreHook.getInstance().setLogDebugToFile(Config.getInstance().getLogDebugToFile());
|
||||
AdvancedCoreHook.getInstance().setSendScoreboards(Config.getInstance().getSendScoreboards());
|
||||
}
|
||||
|
||||
private void loadMySQL() {
|
||||
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
|
||||
Thread.getInstance().run(new Runnable() {
|
||||
|
||||
@@ -840,17 +835,6 @@ public class Main extends JavaPlugin {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
AdvancedCoreHook.getInstance().setCheckOnWorldChange(Config.getInstance().getCheckOnWorldChange());
|
||||
AdvancedCoreHook.getInstance().setDebug(Config.getInstance().getDebugEnabled());
|
||||
AdvancedCoreHook.getInstance().setDebugIngame(Config.getInstance().getDebugInfoIngame());
|
||||
AdvancedCoreHook.getInstance().setDefaultRequestMethod(Config.getInstance().getRequestAPIDefaultMethod());
|
||||
AdvancedCoreHook.getInstance().setDisabledRequestMethods(Config.getInstance().getRequestAPIDisabledMethods());
|
||||
AdvancedCoreHook.getInstance().setFormatNoPerms(Config.getInstance().getFormatNoPerms());
|
||||
AdvancedCoreHook.getInstance().setFormatNotNumber(Config.getInstance().getFormatNotNumber());
|
||||
AdvancedCoreHook.getInstance().setHelpLine(Config.getInstance().getFormatHelpLine());
|
||||
AdvancedCoreHook.getInstance().setLogDebugToFile(Config.getInstance().getLogDebugToFile());
|
||||
AdvancedCoreHook.getInstance().setSendScoreboards(Config.getInstance().getSendScoreboards());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -113,7 +113,7 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
|
||||
* Adds the points.
|
||||
*/
|
||||
public void addPoints() {
|
||||
setPoints(getPoints() + 1);
|
||||
addPoints(Config.getInstance().getPointsOnVote());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -157,6 +157,14 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
|
||||
setWeekVoteStreak(getWeekVoteStreak() + 1);
|
||||
}
|
||||
|
||||
public int getMilestoneCount() {
|
||||
return getData().getInt("MilestoneCount", getAllTimeTotal());
|
||||
}
|
||||
|
||||
public void setMilestoneCount(int value) {
|
||||
getData().setInt("MilestoneCount", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Can vote all.
|
||||
*
|
||||
@@ -180,6 +188,7 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
|
||||
* @return true, if successful
|
||||
*/
|
||||
public boolean canVoteSite(VoteSite voteSite) {
|
||||
|
||||
String siteName = voteSite.getKey();
|
||||
long time = getTime(voteSite);
|
||||
if (time == 0) {
|
||||
@@ -188,15 +197,23 @@ public class User extends com.Ben12345rocks.AdvancedCore.Objects.User {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime lastVote = LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault());
|
||||
|
||||
int votedelay = ConfigVoteSites.getInstance().getVoteDelay(siteName);
|
||||
if (!voteSite.isVoteDelayDaily()) {
|
||||
int votedelay = ConfigVoteSites.getInstance().getVoteDelay(siteName);
|
||||
|
||||
if (votedelay == 0) {
|
||||
if (votedelay == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
LocalDateTime nextvote = lastVote.plusHours(votedelay);
|
||||
|
||||
return now.isAfter(nextvote);
|
||||
} else {
|
||||
if (now.getDayOfYear() != lastVote.getDayOfYear() && now.getYear() != lastVote.getYear()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
LocalDateTime nextvote = lastVote.plusHours(votedelay);
|
||||
|
||||
return now.isAfter(nextvote);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,6 +40,8 @@ public class VoteSite {
|
||||
|
||||
/** The enabled. */
|
||||
private boolean enabled;
|
||||
|
||||
private boolean voteDelayDaily;
|
||||
|
||||
/** The priority. */
|
||||
private int priority;
|
||||
@@ -67,6 +69,20 @@ public class VoteSite {
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the voteDelayDaily
|
||||
*/
|
||||
public boolean isVoteDelayDaily() {
|
||||
return voteDelayDaily;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param voteDelayDaily the voteDelayDaily to set
|
||||
*/
|
||||
public void setVoteDelayDaily(boolean voteDelayDaily) {
|
||||
this.voteDelayDaily = voteDelayDaily;
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcast vote.
|
||||
*
|
||||
@@ -149,6 +165,10 @@ public class VoteSite {
|
||||
new RewardBuilder(configVoteSites.getData(), configVoteSites.getRewardsPath(key)).setOnline(online)
|
||||
.withPlaceHolder("ServiceSite", getServiceSite()).withPlaceHolder("SiteName", getDisplayName())
|
||||
.withPlaceHolder("VoteDelay", "" + getVoteDelay()).withPlaceHolder("VoteURL", getVoteURL()).send(user);
|
||||
|
||||
new RewardBuilder(configVoteSites.getData(), configVoteSites.getEverySiteRewardPath()).setOnline(online)
|
||||
.withPlaceHolder("ServiceSite", getServiceSite()).withPlaceHolder("SiteName", getDisplayName())
|
||||
.withPlaceHolder("VoteDelay", "" + getVoteDelay()).withPlaceHolder("VoteURL", getVoteURL()).send(user);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -177,6 +197,7 @@ public class VoteSite {
|
||||
displayName = key;
|
||||
}
|
||||
item = configVoteSites.getItem(key);
|
||||
voteDelayDaily = configVoteSites.getVoteSiteResetVoteDelayDaily(key);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,25 +2,19 @@ package com.Ben12345rocks.VotingPlugin.OtherRewards;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import com.Ben12345rocks.AdvancedCore.Listeners.MonthChangeEvent;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.RewardBuilder;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.RewardHandler;
|
||||
import com.Ben12345rocks.AdvancedCore.Objects.UUID;
|
||||
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.Objects.User;
|
||||
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class OtherVoteReward.
|
||||
*/
|
||||
public class OtherVoteReward implements Listener {
|
||||
public class OtherVoteReward {
|
||||
|
||||
/** The config. */
|
||||
static Config config = Config.getInstance();
|
||||
@@ -155,7 +149,7 @@ public class OtherVoteReward implements Listener {
|
||||
&& RewardHandler.getInstance().hasRewards(Config.getInstance().getData(),
|
||||
Config.getInstance().getMilestoneRewardsPath(votesRequired))) {
|
||||
|
||||
int userVotesTotal = user.getAllTimeTotal();
|
||||
int userVotesTotal = user.getMilestoneCount();
|
||||
if (userVotesTotal >= votesRequired && !user.hasGottenMilestone(votesRequired)) {
|
||||
giveMilestoneVoteReward(user, user.isOnline(), votesRequired);
|
||||
user.setHasGotteMilestone(votesRequired, true);
|
||||
@@ -267,28 +261,4 @@ public class OtherVoteReward implements Listener {
|
||||
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getVoteStreakRewardsPath(type, streak))
|
||||
.setOnline(online).withPlaceHolder("Type", type).withPlaceHolder("Streak", "" + streak).send(user);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMonthChange(MonthChangeEvent event) {
|
||||
Set<String> votes = Config.getInstance().getMilestoneVotes();
|
||||
for (String vote : votes) {
|
||||
if (StringUtils.getInstance().isInt(vote)) {
|
||||
int votesRequired = Integer.parseInt(vote);
|
||||
plugin.debug("Is int: " + vote);
|
||||
if (votesRequired != 0) {
|
||||
plugin.debug("not 0");
|
||||
if (Config.getInstance().getMilestoneRewardEnabled(votesRequired)
|
||||
&& RewardHandler.getInstance().hasRewards(Config.getInstance().getData(),
|
||||
Config.getInstance().getMilestoneRewardsPath(votesRequired))) {
|
||||
if (Config.getInstance().getMilestoneResetMonthly(votesRequired)) {
|
||||
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
|
||||
user.setHasGotteMilestone(votesRequired, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -153,6 +153,15 @@ public class TopVoterHandler implements Listener {
|
||||
}
|
||||
resetMonthlyTotals();
|
||||
|
||||
if (Config.getInstance().getResetMilestonesMonthly()) {
|
||||
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
|
||||
user.setMilestoneCount(0);
|
||||
user.setHasGottenMilestone(new HashMap<String, Boolean>());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@@ -554,7 +563,8 @@ public class TopVoterHandler implements Listener {
|
||||
for (String uuid : uuids) {
|
||||
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
|
||||
if (!blackList.contains(user.getPlayerName())) {
|
||||
if (!Config.getInstance().getTopVoterIgnorePermission() || !user.isTopVoterIgnore()) {
|
||||
if ((!Config.getInstance().getTopVoterIgnorePermission() || !user.isTopVoterIgnore())
|
||||
&& !user.isBanned()) {
|
||||
users.add(user);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.Ben12345rocks.VotingPlugin.Util.Updater;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import com.Ben12345rocks.AdvancedCore.Util.Updater.Updater;
|
||||
@@ -58,8 +61,27 @@ public class CheckUpdate {
|
||||
break;
|
||||
}
|
||||
case UPDATE_AVAILABLE: {
|
||||
plugin.getLogger().info(plugin.getName() + " has an update available! Your Version: "
|
||||
+ plugin.getDescription().getVersion() + " New Version: " + plugin.updater.getVersion());
|
||||
plugin.getLogger()
|
||||
.info(plugin.getName() + " has an update available! Your Version: "
|
||||
+ plugin.getDescription().getVersion() + " New Version: " + plugin.updater.getVersion()
|
||||
+ " Use /av download to get the latest update!");
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void checkUpdateBasic() {
|
||||
plugin.updater = new Updater(plugin, 15358, false);
|
||||
final Updater.UpdateResult result = plugin.updater.getResult();
|
||||
switch (result) {
|
||||
case UPDATE_AVAILABLE: {
|
||||
plugin.getLogger()
|
||||
.info(plugin.getName() + " has an update available! Your Version: "
|
||||
+ plugin.getDescription().getVersion() + " New Version: " + plugin.updater.getVersion()
|
||||
+ " Use /av download to get the latest update!");
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
@@ -77,6 +99,14 @@ public class CheckUpdate {
|
||||
@Override
|
||||
public void run() {
|
||||
checkUpdate();
|
||||
new Timer().schedule(new TimerTask() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
checkUpdateBasic();
|
||||
}
|
||||
}, 1000 * 60 * 1200, 1000 * 60 * 1200);
|
||||
|
||||
}
|
||||
}, 10l);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.Ben12345rocks.AdvancedCore.Listeners.DayChangeEvent;
|
||||
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.VotingPlugin.Main;
|
||||
import com.Ben12345rocks.VotingPlugin.Config.Config;
|
||||
import com.Ben12345rocks.VotingPlugin.Data.ServerData;
|
||||
@@ -84,6 +85,7 @@ public class VoteParty implements Listener {
|
||||
if (getTotalVotes() >= Config.getInstance().getVotePartyVotesRequired()) {
|
||||
setTotalVotes(getTotalVotes() - Config.getInstance().getVotePartyVotesRequired());
|
||||
giveRewards();
|
||||
MiscUtils.getInstance().broadcast(Config.getInstance().getVotePartyBroadcast());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class VoteShop {
|
||||
ItemBuilder builder = new ItemBuilder(Config.getInstance().getIdentifierSection(identifier));
|
||||
|
||||
inv.addButton(Config.getInstance().getIdentifierSlot(identifier),
|
||||
new BInventoryButton(builder.toItemStack()) {
|
||||
new BInventoryButton(builder) {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
@@ -61,6 +61,6 @@ public class VoteShop {
|
||||
});
|
||||
}
|
||||
|
||||
BInventory.openInventory(player, inv);
|
||||
inv.openInventory(player);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user