Skip to content

FactionPlugin v5.13.1 — Tab rafraîchi en quittant une faction

Choose a tag to compare

@herocraftlol herocraftlol released this 13 Sep 00:44

🐛 Le tab ne garde plus l'ancienne faction

Cette release corrige un bug visuellement très désagréable : après avoir quitté, été expulsé ou vu sa faction dissoute, le tab continuait d'afficher l'ancienne faction jusqu'à un événement extérieur (typiquement rejoindre ou fonder une autre faction). C'est trompeur, surtout quand on enchaîne immédiatement avec un /faction create ou un /faction join — l'ancienne étiquette reste affichée jusqu'à ce que le rafraîchissement automatique finisse par se déclencher.

Avant / Après

Commande En v5.13.0 En v5.13.1
/faction leave ❌ Étiquette de faction figée dans le tab ✅ Tab mis à jour à la seconde
/faction kick <joueur> (sur vous) ❌ Idem ✅ Joueur expulsé (et kicker) rafraîchis
/faction disband ❌ Tous les anciens membres gardent leur ancienne faction ✅ Tous les anciens membres voient leur tab nettoyé

Pourquoi

/faction create et /faction join rafraîchissaient déjà le tab (parce qu'on rejoint quelque chose, le code appelait tabManager.refresh(...) au passage). Mais /faction leave, /faction kick et /faction disband ne font qu'enlever une appartenance — la branche correspondante n'appelait jamais cette fonction. Corrigé dans cette release : les trois commandes appellent maintenant tabManager.refresh(...) pour chaque joueur concerné.

Le rafraîchissement est immédiat et propage aussi le changement au dashboard web (Herosite / HeroTab) sans attendre le cycle de 60 secondes — déjà ajouté en v5.13.0.

🔧 Correctifs de compilation Paper API 1.21.4

Quelques symboles ajoutés / renommés / déplacés entre Paper 1.21.0 et 1.21.4 rendaient le projet impossible à compiler. Tous corrigés ici :

Symbole Avant Après
Material.BED retiré en 1.21 Material.RED_BED
Enchantment.LUCK retiré en 1.21 Enchantment.LOOTING
PotionEffectType.INCREASE_DAMAGE / DAMAGE_RESISTANCE renommés STRENGTH / RESISTANCE
Material.GOLD_STAINED_GLASS_PANE renommé YELLOW_STAINED_GLASS_PANE
Particle.SPELL_WITCH / VILLAGER_HAPPY renommés WITCH / HAPPY_VILLAGER
Sound.ENTITY_PLAYER_EAT renommé ENTITY_GENERIC_EAT
BuyResult.NOT_ENOUGH_MONEY renommé NOT_ENOUGH_PAYMENT
org.bukkit.plugin.JavaPlugin (mauvais import) remplacé org.bukkit.plugin.java.JavaPlugin
MapPalette.matchColor(org.bukkit.Color) signature changée MapPalette.matchColor(new java.awt.Color(...))
EntitySleepEvent n'est plus jamais lancé sur Paper 1.21+ listener supprimé (soin nocturne déjà géré par polling depuis v5.10.3)
view.removeRenderer(r) dans lambda variable non-finale final MapView finalView = view;
fr.faction.commerce.Contract import PostType manquant ajout de import fr.faction.village.PostType;

Tout est compilable sur mvn clean package (Java 21, Maven 3.9+).

📦 Installation

  1. Téléchargez FactionPlugin-5.13.1.jar ci-dessous
  2. Placez-le dans le dossier plugins/ de votre serveur Paper 1.21.4+
  3. Démarrez / redémarrez — la configuration se crée automatiquement dans plugins/FactionPlugin/
  4. Tapez /faction en jeu pour ouvrir le menu principal

🛠️ Requis : Paper 1.21.4+, Java 21+. Aucun autre plugin de factions requis.

📥 Recompilation (optionnel)

Vous voulez recompiler ? Le code source est joint : FactionPlugin-v5.13.1-source.zip. Décompressez-le, puis :

cd FactionPlugin-v5.13.1
mvn clean package

Le JAR est produit dans target/FactionPlugin-5.13.1.jar (≈ 470 KB).

🔄 Migration depuis v5.12.0

Aucune migration. Remplacez le .jar v5.12.0 par le v5.13.1 et redémarrez — tous les YAML (factions.yml, villagers.yml, stats.yml, villages.yml, commerce.yml, shop.yml, etc.) restent compatibles. Vos contrats en transit au moment de la mise à jour sont également préservés.

📝 Détails techniques

  • API cible : io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT
  • Java : 21 (compilé en target 21)
  • Taille du JAR : ≈ 470 KB
  • Changelog complet : voir CHANGELOG_v5_13_1.md

— Cette release a été créée par un agent OpenHands au nom d'herocraftlol.