From 6b20a6e34218814c2f5d6157b6f812a702a76364 Mon Sep 17 00:00:00 2001 From: SarTron-NorthBlue Date: Sun, 26 Jul 2026 17:26:13 +0400 Subject: [PATCH] Ajoute voteparty.broadcast.every pour limiter le spam de progression 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 --- .../src/main/java/fr/votenetwork/spigot/VoteConfig.java | 5 +++++ .../java/fr/votenetwork/spigot/voteparty/VoteParty.java | 8 ++++++-- spigot/src/main/resources/config.yml | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java b/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java index 5670723..96f60ef 100644 --- a/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java +++ b/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java @@ -92,6 +92,11 @@ public class VoteConfig { 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() { return colorize(cfg().getString("voteparty.broadcast.progress-message", "&b[Vote] &f%current%&7/&f%required% &fvotes avant le prochain VoteParty !")); diff --git a/spigot/src/main/java/fr/votenetwork/spigot/voteparty/VoteParty.java b/spigot/src/main/java/fr/votenetwork/spigot/voteparty/VoteParty.java index 69004ce..25ac07f 100644 --- a/spigot/src/main/java/fr/votenetwork/spigot/voteparty/VoteParty.java +++ b/spigot/src/main/java/fr/votenetwork/spigot/voteparty/VoteParty.java @@ -47,10 +47,14 @@ public class VoteParty { public void addVotes(int amount) { int required = config.getVotePartyVotesRequired(); 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() - .replace("%current%", String.valueOf(Math.min(updated, required))) + .replace("%current%", String.valueOf(shown)) .replace("%required%", String.valueOf(required))); } diff --git a/spigot/src/main/resources/config.yml b/spigot/src/main/resources/config.yml index c8c856d..9bb5afd 100644 --- a/spigot/src/main/resources/config.yml +++ b/spigot/src/main/resources/config.yml @@ -44,6 +44,10 @@ voteparty: - "goldencrates broadcast_give vote_key 1" broadcast: 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 !" triggered-message: "&a[Vote] &fVoteParty declenche ! Profitez des recompenses !"