Ajoute voteparty.broadcast.every pour limiter le spam de progression
CI / build (push) Successful in 12m14s

Le message de progression VoteParty s'affichait a chaque vote. Ajoute
une option every (defaut 10) pour n'annoncer que tous les N votes, plus
systematiquement au dernier vote avant le declenchement.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
SarTron-NorthBlue
2026-07-26 17:26:13 +04:00
co-authored by Claude Sonnet 5
parent cdc692d6d2
commit 6b20a6e342
3 changed files with 15 additions and 2 deletions
@@ -92,6 +92,11 @@ public class VoteConfig {
return cfg().getBoolean("voteparty.broadcast.enabled", true); return cfg().getBoolean("voteparty.broadcast.enabled", true);
} }
/** N'annonce la progression que tous les N votes (1 = a chaque vote). */
public int getVotePartyBroadcastEvery() {
return cfg().getInt("voteparty.broadcast.every", 10);
}
public String getVotePartyProgressMessage() { public String getVotePartyProgressMessage() {
return colorize(cfg().getString("voteparty.broadcast.progress-message", return colorize(cfg().getString("voteparty.broadcast.progress-message",
"&b[Vote] &f%current%&7/&f%required% &fvotes avant le prochain VoteParty !")); "&b[Vote] &f%current%&7/&f%required% &fvotes avant le prochain VoteParty !"));
@@ -47,10 +47,14 @@ public class VoteParty {
public void addVotes(int amount) { public void addVotes(int amount) {
int required = config.getVotePartyVotesRequired(); int required = config.getVotePartyVotesRequired();
int updated = currentVotes.addAndGet(amount); int updated = currentVotes.addAndGet(amount);
int shown = Math.min(updated, required);
if (config.isVotePartyBroadcastEnabled()) { // N'annonce la progression que tous les N votes (config), plus le dernier avant le
// declenchement, pour eviter de spam le chat a chaque vote individuel.
int every = Math.max(1, config.getVotePartyBroadcastEvery());
if (config.isVotePartyBroadcastEnabled() && (shown % every == 0 || shown >= required)) {
Bukkit.broadcastMessage(config.getVotePartyProgressMessage() Bukkit.broadcastMessage(config.getVotePartyProgressMessage()
.replace("%current%", String.valueOf(Math.min(updated, required))) .replace("%current%", String.valueOf(shown))
.replace("%required%", String.valueOf(required))); .replace("%required%", String.valueOf(required)));
} }
+4
View File
@@ -44,6 +44,10 @@ voteparty:
- "goldencrates broadcast_give vote_key 1" - "goldencrates broadcast_give vote_key 1"
broadcast: broadcast:
enabled: true enabled: true
# N'annonce la progression que tous les N votes (10 = 1 message toutes les 10 votes),
# plus systematiquement au dernier vote avant le declenchement. Mettre a 1 pour annoncer
# a chaque vote.
every: 10
progress-message: "&b[Vote] &f%current%&7/&f%required% &fvotes avant le prochain VoteParty !" progress-message: "&b[Vote] &f%current%&7/&f%required% &fvotes avant le prochain VoteParty !"
triggered-message: "&a[Vote] &fVoteParty declenche ! Profitez des recompenses !" triggered-message: "&a[Vote] &fVoteParty declenche ! Profitez des recompenses !"