Skip to content

FactionPlugin v5.15.0 — La vraie cause du tab HeroTab enfin corrigée 🏷️✨🐛

Choose a tag to compare

@herocraftlol herocraftlol released this 16 Sep 04:22
· 9 commits to main since this release

🏰 FactionPlugin v5.15.0 — La vraie cause du tab HeroTab corrigée 🏷️✨🐛

Re-publication propre de la v5.15.0 : le JAR et le ZIP source ont été recompilés à partir des sources ready-to-compile (build fraîche vérifiée mvn clean package ✔).

Cette version est probablement le correctif le plus important de toute la série 5.14.x : elle s'attaque à la vraie cause racine d'un bug que toutes les versions précédentes tentaient de résoudre — sans y parvenir, parce qu'elles visaient la mauvaise cible.


🎯 En deux mots

HeroTab (le plugin proxy qui affiche votre faction et votre rang dans l'onglet global du serveur) lit une table MySQL faction_tab_sync qui était censée être alimentée par une classe FactionTabSync côté FactionPlugin — et cette classe n'avait tout simplement jamais été écrite. Résultat : le tab restait figé jusqu'ici, peu importe le nombre de correctifs « de synchro » apportés.

Cette version crée enfin la classe manquante. Local, onglet HeroTab, carte web, sous-serveurs du réseau — tout est désormais cohérent en permanence, sans aucun délai perceptible.


📥 Téléchargements

Fichier Description
FactionPlugin-5.15.0.jar Plugin compilé pour Paper 1.21.x (≈ 480 KB)
FactionPlugin-v5.15.0-source.zip Code source complet (Maven pom.xml + src/main/...)

✨ Ce qui change

Événement Avant v5.15.0 Depuis v5.15.0
Onglet HeroTab après un recrutement ❌ jamais ✅ instantané
Onglet HeroTab après un départ / kick ❌ jamais ✅ instantané
Onglet HeroTab après un disband ❌ jamais ✅ instantané
Onglet HeroTab après un renommage ❌ jamais ✅ instantané
Onglet HeroTab après une montée de rang ⏳ jusqu'à 60 s ✅ instantané
Onglet HeroTab cycle normal toutes les 60 s toutes les 30 s
Compilation mvn clean package ⚠️ import manquant aléatoire ✅ toujours propre

📜 Détails du correctif

  • 🐛 Cause racine identifiée et corrigée : la classe FactionTabSync est créée. Elle écrit dans la table faction_tab_sync lue par HeroTab, en réutilisant la connexion MySQL déjà configurée pour /lier (section mysql: du config.yml) — aucune configuration supplémentaire n'est nécessaire si /lier fonctionne déjà chez toi.
  • 🛡️ Table créée automatiquement si elle n'existe pas, avec exactement les colonnes attendues par HeroTab : uuid, faction_name, rank_name, rank_color (au format &x legacy), rank_icon.
  • ⚡ Tâche de fond toutes les 30 s + push immédiat sur les mêmes événements que WebMapSync : recrutement, départ, kick, disband, renommage, montée de rang. L'onglet est synchronisé sans aucun délai, où que soit le joueur sur le réseau.
  • 🔧 Bug de compilation latent corrigé en passant : FactionPlugin.java référençait la classe Bukkit sans l'importer — un import manquant qui aurait empêché toute compilation propre dans certaines configurations. Un balayage complet du projet a confirmé qu'aucun autre fichier ne présente ce problème. mvn clean package produit désormais un .jar valide du premier coup, sur n'importe quel poste de développement.

🆕 Caractéristiques cumulées à partir de v5.14.x

  • v5.14.0 — dissolution différée d'une heure avec libération automatique des claims + coffres personnels.
  • v5.14.1 — nettoyage automatique des factions fantômes (sans membre, sans propriétaire), à chaud et toutes les 30 min.
  • v5.14.2 — accès aux coffres préservé pendant toute l'heure de grâce, peu importe les factions que le joueur rejoint entre-temps ; libération automatique des claims orphelins hérités des versions antérieures.
  • v5.14.3 — synchronisation tab immédiate lors d'une montée de rang (sans attendre 60 s) — cette version-ci reste utile pour le tab local et l'invalidation du cache, mais la v5.15.0 la remplace en s'attaquant à la vraie cause racine du problème.
  • v5.15.0 — FactionTabSync créée : la bonne table est désormais écrite, l'onglet HeroTab se met à jour sans délai sur tous les événements de faction.

🔧 Pour installer

  1. Téléchargez FactionPlugin-5.15.0.jar.
  2. Remplacez l'ancien JAR dans le dossier plugins/ de votre serveur.
  3. Redémarrez le serveur (ou /reload confirm).
  4. (Optionnel) Configurez la section mysql: de config.yml si vous voulez activer la synchro du tab HeroTab — la même que pour /lier. Sans cette section, le plugin fonctionne normalement, seule la synchro tab HeroTab est désactivée (le tab local et la carte web restent intacts).

Aucun changement de format de données — les fichiers factions.yml, claims.yml, bank.yml, ranking.yml, map.yml, etc. existants restent compatibles. La table MySQL faction_tab_sync est créée automatiquement au premier démarrage si elle n'existe pas encore.


🏰 Pour les nouveaux venus : qu'est-ce que FactionPlugin ?

FactionPlugin est un plugin Minecraft tout-en-un pour serveurs Paper 1.21.x qui réunit dans une seule commande /faction (et ses alias /f, /fac) tout ce qu'il faut pour gérer un mode factions riche sur un serveur survie PvP :

  • 🏛️ Factions complètes — création, dissolution, sous-chefs, alliances, guerres, dissolution différée d'1h pour tout récupérer, nettoyage automatique des factions fantômes
  • 🗺️ Claims & territoires — chunks protégés avec permissions fines par joueur, alliances croisées, mini-map temps réel des claims
  • 👥 Villages autonomes — recrutez des villageois vanilla et attribuez-leur un rôle : Constructeur, Guerrier, Récolteur, Navigateur (bateau) ou Cheminot (minecart). Ils construisent, combattent, récoltent, transportent vos marchandises — tout seuls
  • 💰 Économie intégrée — banque d'émeraudes par faction, shop global paginé avec 4 monnaies (fer, or, diamant, émeraude), système d'annonces
  • 🤝 Troc sécurisé entre joueurs avec confirmation des deux parties et anti-scam
  • 🚢 Commerce inter-villes — vos villages ne sont plus des îles économiques : choisissez une ressource, un Navigateur ou un Cheminot la livre jusqu'à la ville alliée
  • ⚡ 7 rangs de faction — Pierre → Bronze → Argent → Or → Diamant → Émeraude → Légendaire, avec effets passifs (Speed, Strength, Resistance, Haste, Regeneration…)
  • 📊 Statistiques & classements détaillés (kills, mobs, dégâts, blocs, temps de jeu, K/D, advancements) avec /faction stats et /faction classementjoueurs
  • 🏠 Homes personnels & TPA entre joueurs, avec warmup et cooldown
  • 🔌 Liaison site web — /lier synchronise votre compte Minecraft avec le site, et (depuis la v5.15.0) l'onglet global HeroTab

Conçu pour Paper 1.21.4, Java 21 — il suffit de poser le .jar dans plugins/ et tout est prêt.


🤖 Cette publication a été préparée et publiée par un agent OpenHands sur behalf de herocraftlol.

Co-authored-by: openhands openhands@all-hands.dev