19 Commits
Author SHA1 Message Date
SarTron-NorthBlueandClaude Sonnet 5 964f375841 Ajoute le GUI VoteParty avec liens de vote cliquables (v1.0.1)
CI / build (push) Successful in 12m13s
Nouvelle commande /votegui : affiche la progression du VoteParty et un
item par site de vote configure. Un clic ferme le GUI et envoie un
message chat cliquable vers l'URL du site (Bukkit ne permet pas
d'ouvrir un navigateur directement depuis un clic d'inventaire).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
v1.0.1
2026-07-15 13:26:53 +04:00
SarTron-NorthBlueandClaude Sonnet 5 35a8425254 Fix CI : downgrade upload-artifact v4 -> v3 (incompatible avec Gitea)
CI / build (push) Successful in 12m9s
Le build et les tests passaient deja (Setup JDK, checkout, mvn verify
tous verts). Seul l'upload d'artefact echouait : upload-artifact@v4
utilise la nouvelle API @actions/artifact v2, pas encore supportee par
le backend Gitea Actions (GHESNotSupportedError). v3 utilise l'ancienne
API, compatible.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 09:24:23 +04:00
SarTron-NorthBlueandClaude Sonnet 5 5a7aec5344 Fix CI : revient sur ubuntu-latest, installe Maven via apt-get
CI / build (push) Failing after 12m37s
Le container maven:3.9-eclipse-temurin-17 n'a pas Node.js, requis par
les actions JS (checkout, cache, upload-artifact) -> echec au premier
step. Retour au runner par defaut + installation explicite de Maven
(actions/setup-java installe le JDK mais jamais Maven).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 09:10:43 +04:00
SarTron-NorthBlueandClaude Sonnet 5 686cb4de26 Fix CI : mvn introuvable sur le runner (image sans Maven preinstalle)
CI / build (push) Failing after 1m8s
actions/setup-java installe le JDK mais pas Maven. Ca marche sur les
runners GitHub-hostes (Maven deja present dans l'image), mais pas sur
ce runner self-hoste (act) qui utilise une image minimale. Bascule
sur l'image Docker officielle maven:3.9-eclipse-temurin-17, qui a
Maven + JDK 17 preinstalles, peu importe le runner sous-jacent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 09:08:16 +04:00
SarTron-NorthBlueandClaude Sonnet 5 70d41af369 ci: declenche manuellement le pipeline pour verification
CI / build (push) Failing after 4m49s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 09:02:11 +04:00
SarTron-NorthBlueandClaude Sonnet 5 3a84f16f23 Ajoute le pipeline CI Gitea Actions (CP11 - demarche DevOps)
CI / build (push) Failing after 5m24s
mvn clean verify (compile + tests) a chaque push/PR sur main, upload
des jars en artefact si succes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-13 09:18:32 +04:00
SarTron-NorthBlueandClaude Sonnet 5 5abe49fdd0 Ajoute des tests unitaires JUnit 5 (CP9 - plans de tests)
14 tests couvrant VoteConfig (Spigot + Velocity) et YamlPendingVoteStore
(Spigot + Velocity) : valeurs par defaut, portee per-server/global,
merge de config sans ecraser l'existant, incrementation/reset des
votes en attente, colorisation des messages.

Mockito pour VoteConfig/YamlPendingVoteStore cote Spigot (mock de
VoteNetworkSpigot, pas besoin de serveur Bukkit reel). Cote Velocity,
tests directs sans framework (classes deja decouplees de Velocity-API).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-13 09:14:12 +04:00
SarTron-NorthBlueandClaude Sonnet 5 d5f6e0cfb3 Ajoute un script de release Gitea (scripts/release.sh)
Sur demande uniquement (pas de trigger auto par commit) : build les 2
jars, zip, cree le tag/release via l'API Gitea et y attache le zip.
Token passe en variable d'env GITEA_TOKEN, jamais stocke dans le repo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 19:24:13 +04:00
SarTron-NorthBlueandClaude Sonnet 5 0ca99c7e2c Ignore dist/ (zip de distribution genere localement)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
v1.0.0
2026-07-12 19:06:20 +04:00
SarTron-NorthBlueandClaude Sonnet 5 ff1afd58fe Ajoute la description SpigotMC (BBCode) pour la publication de la ressource
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 18:56:47 +04:00
SarTron-NorthBlueandClaude Sonnet 5 62d4d30530 Fix : merge auto de config.properties ne copiait pas les commentaires
L'ancien merge lisait les defauts via Properties.load(), qui jette
tous les commentaires : les nouvelles cles ajoutees automatiquement
(ex: pending-votes.scope) arrivaient nues, sans explication, sous un
header generique confus.

Le merge copie desormais le bloc texte entier (commentaires inclus)
du config.properties par defaut, verbatim, pour chaque cle manquante.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:37:57 +04:00
SarTron-NorthBlueandClaude Sonnet 5 261e220d1a Ajoute la portee per-server pour les votes en attente + credits/licence
pending-votes.scope (config.properties Velocity) = global (defaut,
comportement historique) ou per-server. En per-server, un vote hors
ligne incremente le compteur de chaque serveur de direct-vote.servers
independamment (nouvelle table nb_votes_attente_serveur) ; /claim sur
un serveur ne remet a 0 que ce serveur-la. Necessite server-name
(config.yml) et storage.pending-votes-scope assortis cote Spigot.

Ajoute LICENSE (MIT) et credit Sar_Tron (plugin.yml, @Plugin Velocity,
pom parent, README) en vue de la publication publique.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:33:22 +04:00
SarTron-NorthBlueandClaude Sonnet 5 74b2914529 Ajoute un expansion PlaceholderAPI (%votenetwork_...%)
Le scoreboard du joueur affichait %current%/%required% en clair car
seule une API Java existait, pas de placeholders texte. Enregistre
automatiquement si PlaceholderAPI est present (softdepend) :
voteparty_current, voteparty_required, voteparty_remaining,
maintenance, pending (rafraichi en arriere-plan, async).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:26:44 +04:00
SarTron-NorthBlueandClaude Sonnet 5 a76c641b7d Merge auto des nouvelles options de config au demarrage
Une mise a jour du plugin qui ajoute des cles de config n'obligeait
pas a editer config.yml/config.properties a la main : les valeurs
par defaut restaient invisibles pour l'admin. Desormais, au demarrage,
les cles manquantes sont ajoutees dans le fichier existant sans
toucher aux valeurs deja personnalisees.

Spigot : merge via YamlConfiguration (perd les commentaires au
prochain rewrite, limitation Bukkit). Velocity : simple ajout de
lignes en fin de fichier, commentaires existants preserves.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:23:58 +04:00
SarTron-NorthBlueandClaude Sonnet 5 ffbeb2de66 doc: precise que la meme BDD MySQL doit etre utilisee partout
Clarifie que storage.type (mysql/yaml) doit etre identique sur
Velocity et tous les serveurs Spigot avec les memes identifiants,
et que le VoteParty reste toujours local par serveur peu importe
ce choix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:21:30 +04:00
SarTron-NorthBlueandClaude Sonnet 5 a47376db3a Fix : vote perdu si le joueur est sur un serveur sans le plugin Spigot
Velocity envoyait le paquet direct des qu'un joueur etait en ligne,
sans verifier que le serveur courant (ex: un lobby) avait bien
VoteNetwork-Spigot installe. Message silencieusement perdu dans ce cas.

Ajoute direct-vote.servers (config.properties) : liste blanche des
serveurs equipes du plugin. Hors de cette liste, le vote est traite
comme "joueur hors ligne" et stocke en base au lieu d'etre envoye en
direct.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 13:47:22 +04:00
SarTron-NorthBlueandClaude Sonnet 5 520ca1c80b 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 <noreply@anthropic.com>
2026-07-12 13:44:23 +04:00
SarTron-NorthBlueandClaude Sonnet 5 394267ca5a Rebrand : remplace le package/groupId fr.northblue par fr.votenetwork
Projet destine a etre open source, plus aucune reference a "NorthBlue"
dans le code, les artifactId Maven ou les config par defaut.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 13:18:33 +04:00
SarTron-NorthBlueandClaude Sonnet 5 8c69a0dc9a VoteNetwork: plugin de vote reseau Velocity <-> Spigot
Reception directe en jeu (plugin messaging) ou stockage des votes en
attente (MySQL ou YAML configurable), /claim, VoteParty local par
serveur, mode maintenance, API publique pour scoreboard/GUI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 13:12:32 +04:00