From 520ca1c80ba5b9c33957fc479069827801cd7e82 Mon Sep 17 00:00:00 2001 From: SarTron-NorthBlue Date: Sun, 12 Jul 2026 13:44:23 +0400 Subject: [PATCH] Ajoute un message broadcast personnalisable a chaque vote Optionnel (rewards.broadcast, desactive par defaut), declenche sur vote direct et sur /claim, avec %player% et %amount%. Co-Authored-By: Claude Sonnet 5 --- README.md | 6 +++++- .../src/main/java/fr/votenetwork/spigot/VoteConfig.java | 9 +++++++++ .../java/fr/votenetwork/spigot/command/ClaimCommand.java | 6 ++++++ .../votenetwork/spigot/listener/VoteMessageListener.java | 4 ++++ spigot/src/main/resources/config.yml | 5 +++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ad63423..a898580 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,9 @@ mysql: rewards: vote-commands: # executees pour CHAQUE vote (direct ou via /claim, une fois par vote) - "goldencrates give %player% vote_key 1" + broadcast: # message annonce a tout le serveur a chaque vote / claim + enabled: false + message: "&a[Vote] &e%player% &fvient de voter, merci a lui !" voteparty: votes-requis: 100 # déclenche le VoteParty à ce cumul (par serveur) @@ -88,8 +91,9 @@ messages: - `%player%` dans `rewards.vote-commands` est remplacé par le pseudo du joueur. - `%current%` / `%required%` dans les messages de progression VoteParty. -- `%amount%` dans le message de succès `/claim`. +- `%amount%` dans le message de succès `/claim` et dans `rewards.broadcast.message`. - Codes couleur `&` supportés partout. +- `rewards.broadcast` (désactivé par défaut) : annonce publique à chaque vote direct ou à chaque `/claim` (avec le nombre de votes récupérés). ## Stockage : MySQL ou YAML diff --git a/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java b/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java index ab6ec59..5fca414 100644 --- a/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java +++ b/spigot/src/main/java/fr/votenetwork/spigot/VoteConfig.java @@ -110,6 +110,15 @@ public class VoteConfig { "&a[Vote] &fMerci pour ton vote !")); } + public boolean isVoteBroadcastEnabled() { + return cfg().getBoolean("rewards.broadcast.enabled", false); + } + + public String getVoteBroadcastMessage() { + return colorize(cfg().getString("rewards.broadcast.message", + "&a[Vote] &e%player% &fvient de voter, merci a lui !")); + } + public String getMessageNoPermission() { return colorize(cfg().getString("messages.no-permission", "&cVous n'avez pas la permission d'utiliser cette commande.")); diff --git a/spigot/src/main/java/fr/votenetwork/spigot/command/ClaimCommand.java b/spigot/src/main/java/fr/votenetwork/spigot/command/ClaimCommand.java index 3f3072f..7a1db03 100644 --- a/spigot/src/main/java/fr/votenetwork/spigot/command/ClaimCommand.java +++ b/spigot/src/main/java/fr/votenetwork/spigot/command/ClaimCommand.java @@ -72,5 +72,11 @@ public class ClaimCommand implements CommandExecutor { voteParty.addVotes(pendingVotes); player.sendMessage(config.getMessageClaimSuccess().replace("%amount%", String.valueOf(pendingVotes))); + + if (config.isVoteBroadcastEnabled()) { + Bukkit.broadcastMessage(config.getVoteBroadcastMessage() + .replace("%player%", player.getName()) + .replace("%amount%", String.valueOf(pendingVotes))); + } } } diff --git a/spigot/src/main/java/fr/votenetwork/spigot/listener/VoteMessageListener.java b/spigot/src/main/java/fr/votenetwork/spigot/listener/VoteMessageListener.java index 166ccb0..8c49af7 100644 --- a/spigot/src/main/java/fr/votenetwork/spigot/listener/VoteMessageListener.java +++ b/spigot/src/main/java/fr/votenetwork/spigot/listener/VoteMessageListener.java @@ -45,6 +45,10 @@ public class VoteMessageListener implements PluginMessageListener { target.sendMessage(config.getMessageDirectVote()); + if (config.isVoteBroadcastEnabled()) { + Bukkit.broadcastMessage(config.getVoteBroadcastMessage().replace("%player%", target.getName())); + } + voteParty.addVotes(1); } } diff --git a/spigot/src/main/resources/config.yml b/spigot/src/main/resources/config.yml index 6a08c08..9421947 100644 --- a/spigot/src/main/resources/config.yml +++ b/spigot/src/main/resources/config.yml @@ -22,6 +22,11 @@ mysql: rewards: vote-commands: - "goldencrates give %player% vote_key 1" + # Message annonce a tout le serveur a chaque vote (direct) ou a chaque /claim (avec %amount% votes recuperes). + # %player% et %amount% disponibles (amount vaut 1 pour un vote direct). + broadcast: + enabled: false + message: "&a[Vote] &e%player% &fvient de voter, merci a lui !" voteparty: # Nombre de votes cumules (sur CE serveur) declenchant le VoteParty.