forked from upstream/VotingPlugin
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5d67833b2 | ||
|
|
a1eb2f63e5 | ||
|
|
a882b8d86f | ||
|
|
0a745ae4c0 | ||
|
|
d38a0549d3 | ||
|
|
6e6394f1fb | ||
|
|
ce58e12740 | ||
|
|
2411354a5f | ||
|
|
13efd0c482 | ||
|
|
8fce74f30d | ||
|
|
3f54c05f86 | ||
|
|
dd1cf02c49 | ||
|
|
b462373dfc | ||
|
|
c6e5d008d2 | ||
|
|
9a91561304 | ||
|
|
1c6981e538 | ||
|
|
b6e366ff9d |
No files matched your search
@@ -74,6 +74,8 @@ VoteParty:
|
||||
ResetMonthly: false
|
||||
# If true, will give voteparty only once per day
|
||||
OnlyOncePerDay: false
|
||||
# If true, will give voteparty once per week only
|
||||
OnlyOncePerWeek: false
|
||||
# Reset extra votes
|
||||
ResetExtraVotesMonthly: false
|
||||
# Count votes from /av vote?
|
||||
|
||||
@@ -16,7 +16,7 @@ softdepend:
|
||||
- MVdWPlaceholderAPI
|
||||
- AuthMe
|
||||
- SuperVanish
|
||||
- PremiumVanishs
|
||||
- PremiumVanish
|
||||
- DiscordSRV
|
||||
loadbefore:
|
||||
- MCPerks
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.bencodez</groupId>
|
||||
<artifactId>votingplugin</artifactId>
|
||||
<version>6.9.3</version>
|
||||
<version>6.9.5</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>VotingPlugin</name>
|
||||
<properties>
|
||||
@@ -226,7 +226,7 @@
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.19-R0.1-SNAPSHOT</version>
|
||||
<version>1.19.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -107,6 +107,8 @@ public class BungeeHandler implements Listener {
|
||||
bungeeVotePartyCurrent = text.getVotePartyCurrent();
|
||||
bungeeVotePartyRequired = text.getVotePartyRequired();
|
||||
plugin.getPlaceholders().onBungeeVotePartyUpdate();
|
||||
plugin.getServerData().setBungeeVotePartyCurrent(bungeeVotePartyCurrent);
|
||||
plugin.getServerData().setBungeeVotePartyRequired(bungeeVotePartyRequired);
|
||||
|
||||
boolean setTotals = Boolean.valueOf(args.get(7));
|
||||
|
||||
@@ -169,6 +171,8 @@ public class BungeeHandler implements Listener {
|
||||
bungeeVotePartyCurrent = text.getVotePartyCurrent();
|
||||
bungeeVotePartyRequired = text.getVotePartyRequired();
|
||||
plugin.getPlaceholders().onBungeeVotePartyUpdate();
|
||||
plugin.getServerData().setBungeeVotePartyCurrent(bungeeVotePartyCurrent);
|
||||
plugin.getServerData().setBungeeVotePartyRequired(bungeeVotePartyRequired);
|
||||
|
||||
plugin.debug(
|
||||
"pluginmessaging voteonline received from " + player + "/" + uuid + " on " + service);
|
||||
@@ -236,6 +240,8 @@ public class BungeeHandler implements Listener {
|
||||
if (args.size() > 2) {
|
||||
bungeeVotePartyCurrent = Integer.parseInt(args.get(1));
|
||||
bungeeVotePartyRequired = Integer.parseInt(args.get(2));
|
||||
plugin.getServerData().setBungeeVotePartyCurrent(bungeeVotePartyCurrent);
|
||||
plugin.getServerData().setBungeeVotePartyRequired(bungeeVotePartyRequired);
|
||||
}
|
||||
|
||||
plugin.setUpdate(true);
|
||||
@@ -402,7 +408,7 @@ public class BungeeHandler implements Listener {
|
||||
public void onReceive(String[] data) {
|
||||
if (data.length > 2) {
|
||||
VoteSite site = plugin.getVoteSite(data[1], true);
|
||||
String p = data[3];
|
||||
String p = data[2];
|
||||
VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(p);
|
||||
if (site != null) {
|
||||
site.broadcastVote(user, false);
|
||||
|
||||
@@ -1019,7 +1019,13 @@ public class VotingPluginMain extends AdvancedCorePlugin {
|
||||
|
||||
topVoterHandler.register();
|
||||
|
||||
metrics();
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
metrics();
|
||||
}
|
||||
});
|
||||
|
||||
// javascript api
|
||||
getJavascriptEngineRequests().add(new JavascriptPlaceholderRequest("User") {
|
||||
@@ -1190,8 +1196,6 @@ public class VotingPluginMain extends AdvancedCorePlugin {
|
||||
*/
|
||||
@Override
|
||||
public void onUnLoad() {
|
||||
getSigns().storeSigns();
|
||||
HandlerList.unregisterAll(plugin);
|
||||
if (bungeeSettings.isUseBungeecoord()) {
|
||||
try {
|
||||
getBungeeHandler().close();
|
||||
@@ -1199,6 +1203,8 @@ public class VotingPluginMain extends AdvancedCorePlugin {
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
getSigns().storeSigns();
|
||||
HandlerList.unregisterAll(plugin);
|
||||
plugin = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -371,14 +371,14 @@ public class CommandLoader {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(args[1]);
|
||||
user.cache();
|
||||
int newTotal = 0;
|
||||
synchronized (pointLock) {
|
||||
VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(args[1]);
|
||||
user.cache();
|
||||
int newTotal = 0;
|
||||
newTotal = user.addPoints(Integer.parseInt(args[3]));
|
||||
sender.sendMessage(StringParser.getInstance().colorize("&cGave " + args[1] + " " + args[3]
|
||||
+ " points" + ", " + args[1] + " now has " + newTotal + " points"));
|
||||
}
|
||||
sender.sendMessage(StringParser.getInstance().colorize("&cGave " + args[1] + " " + args[3]
|
||||
+ " points" + ", " + args[1] + " now has " + newTotal + " points"));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1280,8 +1280,8 @@ public class CommandLoader {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
plugin.getServerData().setVotePartyExtraRequired(Integer.parseInt(args[1]));
|
||||
sendMessage(sender, "&cSet VotePartyExtraRequired to " + args[1]);
|
||||
plugin.getServerData().setVotePartyExtraRequired(Integer.parseInt(args[2]));
|
||||
sendMessage(sender, "&cSet VotePartyExtraRequired to " + args[2]);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -271,6 +271,10 @@ public class SpecialRewardsConfig extends YMLFile {
|
||||
return getData().getBoolean("VoteParty.OnlyOncePerDay");
|
||||
}
|
||||
|
||||
public boolean getVotePartyOnlyOncePerWeek() {
|
||||
return getData().getBoolean("VoteParty.OnlyOncePerWeek");
|
||||
}
|
||||
|
||||
public boolean getVotePartyResetEachDay() {
|
||||
return getData().getBoolean("VoteParty.ResetEachDay");
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.bencodez.votingplugin.data;
|
||||
|
||||
import java.time.temporal.WeekFields;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -163,6 +165,14 @@ public class ServerData {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isLastVotePartySameWeek() {
|
||||
int num = getData().getInt("LastVotePartyWeek", 0);
|
||||
if (num != plugin.getTimeChecker().getTime().get(WeekFields.of(Locale.getDefault()).weekOfYear())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Next sign number.
|
||||
*
|
||||
@@ -264,6 +274,12 @@ public class ServerData {
|
||||
saveData();
|
||||
}
|
||||
|
||||
public void updateLastVotePartyWeek() {
|
||||
getData().set("LastVotePartyWeek",
|
||||
plugin.getTimeChecker().getTime().get(WeekFields.of(Locale.getDefault()).weekOfYear()));
|
||||
saveData();
|
||||
}
|
||||
|
||||
public int getBungeeVotePartyCurrent() {
|
||||
return getData().getInt("BungeeVotePartyCurrent");
|
||||
}
|
||||
|
||||
@@ -194,7 +194,6 @@ public class PlayerVoteListener implements Listener {
|
||||
}
|
||||
user.addPoints();
|
||||
}
|
||||
|
||||
user.checkDayVoteStreak(event.isForceBungee());
|
||||
|
||||
// other rewards
|
||||
|
||||
@@ -768,7 +768,7 @@ public class PlaceHolders {
|
||||
for (String key : keys) {
|
||||
if (placeholder.getUpdateDataKey().equalsIgnoreCase(key)) {
|
||||
VotingPluginUser vpUser = UserManager.getInstance().getVotingPluginUser(user);
|
||||
user.dontCache();
|
||||
vpUser.dontCache();
|
||||
for (String ident : placeholder.getCache().keySet()) {
|
||||
placeholder.getCache().get(ident).put(vpUser.getJavaUUID(),
|
||||
placeholder.placeholderRequest(vpUser, ident));
|
||||
@@ -811,19 +811,15 @@ public class PlaceHolders {
|
||||
public void onUpdate(VotingPluginUser user) {
|
||||
for (PlaceHolder<VotingPluginUser> placeholder : placeholders) {
|
||||
if (placeholder.isUsesCache()) {
|
||||
if (!placeholder.getIdentifier().startsWith("Top_") || placeholder.getCache().isEmpty()
|
||||
|| placeholder.getUpdateDataKey().isEmpty()) {
|
||||
for (String ident : placeholder.getCache().keySet()) {
|
||||
placeholder.getCache().get(ident).put(user.getJavaUUID(),
|
||||
placeholder.placeholderRequest(user, ident));
|
||||
}
|
||||
for (String ident : placeholder.getCache().keySet()) {
|
||||
placeholder.getCache().get(ident).put(user.getJavaUUID(),
|
||||
placeholder.placeholderRequest(user, ident));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onUpdate() {
|
||||
ArrayList<String> uuids = UserManager.getInstance().getAllUUIDs();
|
||||
while (!placeholdersToSetCacheOn.isEmpty()) {
|
||||
String toCache = placeholdersToSetCacheOn.poll();
|
||||
for (NonPlayerPlaceHolder<VotingPluginUser> placeholder : nonPlayerPlaceholders) {
|
||||
@@ -858,24 +854,6 @@ public class PlaceHolders {
|
||||
}
|
||||
}
|
||||
}
|
||||
for (String uuid : uuids) {
|
||||
VotingPluginUser user = UserManager.getInstance().getVotingPluginUser(UUID.fromString(uuid));
|
||||
user.dontCache();
|
||||
for (PlaceHolder<VotingPluginUser> placeholder : placeholders) {
|
||||
if (placeholder.isUsesCache()) {
|
||||
if (placeholder.getIdentifier().startsWith("Top_")) {
|
||||
for (String ident : placeholder.getCache().keySet()) {
|
||||
if (ident != null) {
|
||||
placeholder.getCache().get(ident).put(user.getJavaUUID(),
|
||||
placeholder.placeholderRequest(user, ident));
|
||||
} else {
|
||||
plugin.debug("ident null: " + placeholder.getIdentifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -294,7 +294,7 @@ public class SpecialRewards {
|
||||
|
||||
new RewardBuilder(plugin.getSpecialRewardsConfig().getData(),
|
||||
plugin.getSpecialRewardsConfig().getCumulativeRewardsPath(cumulative)).setServer(forceBungee)
|
||||
.setOnline(online).withPlaceHolder("Cumulative", "" + cumulative).send(user);
|
||||
.setOnline(online).withPlaceHolder("Cumulative", "" + cumulative).send(user);
|
||||
}
|
||||
|
||||
public void giveFirstVoteRewards(VotingPluginUser user, boolean online, boolean forceBungee) {
|
||||
@@ -331,7 +331,7 @@ public class SpecialRewards {
|
||||
}
|
||||
new RewardBuilder(plugin.getSpecialRewardsConfig().getData(),
|
||||
plugin.getSpecialRewardsConfig().getMilestoneRewardsPath(milestone)).setOnline(online)
|
||||
.withPlaceHolder("Milestone", "" + milestone).setServer(forceBungee).send(user);
|
||||
.withPlaceHolder("Milestone", "" + milestone).setServer(forceBungee).send(user);
|
||||
}
|
||||
|
||||
public void giveVoteStreakReward(VotingPluginUser user, boolean online, String type, String string, int votes,
|
||||
@@ -345,8 +345,7 @@ public class SpecialRewards {
|
||||
}
|
||||
new RewardBuilder(plugin.getSpecialRewardsConfig().getData(),
|
||||
plugin.getSpecialRewardsConfig().getVoteStreakRewardsPath(type, string)).setOnline(online)
|
||||
.withPlaceHolder("Type", type).setServer(forceBungee).withPlaceHolder("Streak", "" + votes)
|
||||
.send(user);
|
||||
.withPlaceHolder("Type", type).setServer(forceBungee).withPlaceHolder("Streak", "" + votes).send(user);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -60,29 +60,40 @@ public class VoteParty implements Listener {
|
||||
}
|
||||
|
||||
public void check(boolean forceBungee) {
|
||||
if (getTotalVotes() >= getVotesRequired() && ((plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay()
|
||||
&& plugin.getServerData().isLastVotePartySameDay())
|
||||
|| !plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay())) {
|
||||
if (plugin.getSpecialRewardsConfig().isVotePartyResetCount()) {
|
||||
setTotalVotes(getTotalVotes() - getVotesRequired());
|
||||
}
|
||||
if (getTotalVotes() < getVotesRequired()) {
|
||||
return;
|
||||
}
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay()
|
||||
&& plugin.getServerData().isLastVotePartySameDay()) {
|
||||
return;
|
||||
}
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerWeek()
|
||||
&& plugin.getServerData().isLastVotePartySameWeek()) {
|
||||
return;
|
||||
}
|
||||
if (plugin.getSpecialRewardsConfig().isVotePartyResetCount()) {
|
||||
setTotalVotes(getTotalVotes() - getVotesRequired());
|
||||
}
|
||||
|
||||
VotePartyEvent event = new VotePartyEvent();
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
VotePartyEvent event = new VotePartyEvent();
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
giveRewards(forceBungee);
|
||||
giveRewards(forceBungee);
|
||||
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyIncreaseVotesRquired() > 0) {
|
||||
plugin.getServerData().setVotePartyExtraRequired(plugin.getServerData().getVotePartyExtraRequired()
|
||||
+ plugin.getSpecialRewardsConfig().getVotePartyIncreaseVotesRquired());
|
||||
}
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyIncreaseVotesRquired() > 0) {
|
||||
plugin.getServerData().setVotePartyExtraRequired(plugin.getServerData().getVotePartyExtraRequired()
|
||||
+ plugin.getSpecialRewardsConfig().getVotePartyIncreaseVotesRquired());
|
||||
}
|
||||
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay()) {
|
||||
plugin.getServerData().updateLastVoteParty();
|
||||
}
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerDay()) {
|
||||
plugin.getServerData().updateLastVoteParty();
|
||||
}
|
||||
|
||||
if (plugin.getSpecialRewardsConfig().getVotePartyOnlyOncePerWeek()) {
|
||||
plugin.getServerData().updateLastVotePartyWeek();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -164,11 +175,9 @@ public class VoteParty implements Listener {
|
||||
|
||||
public void giveReward(VotingPluginUser user, boolean online, boolean useBungee) {
|
||||
new RewardBuilder(plugin.getSpecialRewardsConfig().getData(),
|
||||
plugin.getSpecialRewardsConfig().getVotePartyRewardsPath())
|
||||
.setOnline(online)
|
||||
.withPlaceHolder("VotesRequired",
|
||||
"" + plugin.getSpecialRewardsConfig().getVotePartyVotesRequired())
|
||||
.setServer(useBungee).send(user);
|
||||
plugin.getSpecialRewardsConfig().getVotePartyRewardsPath()).setOnline(online)
|
||||
.withPlaceHolder("VotesRequired", "" + plugin.getSpecialRewardsConfig().getVotePartyVotesRequired())
|
||||
.setServer(useBungee).send(user);
|
||||
}
|
||||
|
||||
public void giveRewards(boolean forceBungee) {
|
||||
|
||||
@@ -104,6 +104,7 @@ public class VoteReminding {
|
||||
public boolean shouldRemind(VotingPluginUser user) {
|
||||
if (remindersEnabled.containsKey(user.getJavaUUID())) {
|
||||
if (!remindersEnabled.get(user.getJavaUUID()).booleanValue()) {
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -115,6 +116,7 @@ public class VoteReminding {
|
||||
return user.canVoteAny();
|
||||
}
|
||||
} else {
|
||||
plugin.debug(user.getUUID() + " no need to remind because plaeyr has VotingPlugin.NoRemind");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -132,7 +134,11 @@ public class VoteReminding {
|
||||
}
|
||||
plugin.debug(user.getPlayerName() + " was reminded!");
|
||||
|
||||
} else {
|
||||
plugin.debug("Not reminding for " + user.getUUID());
|
||||
}
|
||||
} else {
|
||||
plugin.debug(user.getUUID() + " has no permission for reminders");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user