Repository navigation
FactionPlugin v5.14.1 — Nettoyage des factions fantômes
🧹 Suppression automatique des factions fantômes
Cette release complète la v5.14.0 : si la dissolution volontaire d'une faction reste différée d'une heure (pour laisser aux membres le temps de récupérer leurs affaires), les factions qui n'ont déjà plus aucun membre — état pathologique laissé par d'anciens bugs où la dissolution ne libérait pas tout — sont maintenant automatiquement et entièrement supprimées, au démarrage du serveur, puis toutes les 30 minutes.
Avant / Après
| Situation | En v5.14.0 | En v5.14.1 |
|---|---|---|
| Faction vidée par un disband + tous les membres re-partent | factions.yml |
✅ Supprimée à la prochaine purge (≤ 30 min) |
factions.yml hérité d'une version < 5.14.0 (déjà plein de fantômes) |
✅ Purge initiale au démarrage | |
topbanque / classement affichent des factions sans membres |
✅ Nettoyés | |
| Claims « à personne » bloqués sur des chunks orphelins | ✅ Libérés | |
/faction disband par un chef (cas normal) |
✅ Différé d'1h | ✅ Identique, toujours différé d'1h |
Le problème que ça corrige
Au fil des versions, plusieurs bugs historiques avaient laissé des factions dans un état « zombie » :
- 💰 Banque : un compte en banque de faction n'était jamais supprimé au disband — solde orphelin pour toujours dans
/faction topbanque. - 🏦 Coffre partagé : supprimé seulement depuis la v5.14.0.
- 🗺️ Claims : libérés correctement seulement depuis la v5.14.0 ; avant, les chunks « appartenaient » à une faction qui n'existait plus.
- 📊 Classement : les caches de puissance/classement n'étaient jamais purgés au disband ou au renommage.
Ces zombies empilaient silencieusement de la donnée morte et un peu de CPU à chaque rechargement du plugin.
La solution
- Toute faction dont la liste de membres est vide est désormais considérée comme fantôme et est automatiquement et entièrement supprimée :
- claims libérés,
- coffre partagé supprimé,
- compte en banque supprimé,
- entrée retirée du classement de puissance,
- faction réellement supprimée (elle n'existe plus nulle part).
- Pas de délai d'1 h dans ce cas (à la différence d'un disband « normal ») : il n'y a personne pour récupérer quoi que ce soit, autant faire le ménage tout de suite.
- Nettoyage initial au démarrage : un passage est exécuté une fois au démarrage du serveur, pour rattraper les zombies déjà présents dans vos fichiers de sauvegarde.
- Filet de sécurité : la même purge est répétée toutes les 30 minutes au cas où une faction se retrouverait un jour vide par un autre chemin.
ℹ️ Aucune action requise côté admin — la purge s'exécute toute seule. Si vous voulez la forcer tout de suite, redémarrez le serveur (la purge initiale est garantie).
🔧 Derniers correctifs de compilation Paper API 1.21.4
Plusieurs symboles de l'API Bukkit/Paper utilisés par le plugin avaient changé d'emplacement ou de nom entre Paper 1.21.0 et 1.21.4 :
| Symbole | Avant | Après |
|---|---|---|
org.bukkit.plugin.JavaPlugin |
en org.bukkit.plugin |
déplacé en org.bukkit.plugin.java (Paper 1.21+) |
Particle.SPELL_WITCH |
retiré en 1.21 | Particle.WITCH |
Particle.VILLAGER_HAPPY |
retiré en 1.21 | Particle.HAPPY_VILLAGER |
Sound.ENTITY_PLAYER_EAT |
retiré en 1.21 | Sound.ENTITY_GENERIC_EAT |
Material.GOLD_STAINED_GLASS_PANE |
retiré en 1.21 | Material.YELLOW_STAINED_GLASS_PANE |
À noter également :
- L'événement
org.bukkit.event.entity.EntitySleepEventn'existe plus en Paper 1.21+ (seuls restentBatToggleSleepEvent,PlayerBedEnterEvent,PlayerBedLeaveEvent,PlayerDeepSleepEvent). Le soin accordé aux villageois recrutés en dormant est donc désactivé dans cette version. Les autres soins (auto-régénération naturelle, potion de soin donnée par un Récolteur, etc.) continuent de fonctionner normalement. - Le typage de
MapPalette.matchColor(...)a changé : la signature publique utilisejava.awt.Color(au lieu deorg.bukkit.Color). LeFactionMapRendererconvertit maintenant explicitement.
📦 Installation & migration
- Aucune action requise côté admin : remplacer le
.jaret redémarrer suffit. - Toutes les factions encore actives ne sont pas affectées : le critère est strictement « 0 membre », pas « basse puissance » ou « inactivité ».
- Les YAML des versions ≥ v5.0.0 restent compatibles.
ℹ️ Note sur la numérotation
- v5.14.0 = dissolution différée d'une heure, avec bugs historiques corrigés au passage.
- v5.14.1 = nettoyage automatique des factions qui n'ont déjà plus aucun membre (cas pathologique laissé par d'anciens bugs).
Les deux releases se complètent : la 5.14.0 traite le cas normal (dissolution volontaire par un chef, qui doit avoir le temps de récupérer), la 5.14.1 traite le cas pathologique (faction déjà vide, plus rien à récupérer).
📥 Téléchargements
FactionPlugin-5.14.1.jar— à déposer dansplugins/de votre serveur Paper 1.21.4+FactionPlugin-v5.14.1-source.zip— code source complet (Maven)