Le plugin Minecraft tout-en-un pour Paper 1.21.x — Factions, alliances, guerres, claims, villages autonomes avec villageois recrutés, banque d'émeraudes, troc sécurisé, commerce inter-villes 🚢🚂, shop global, statistiques, tab HeroTab synchronisé, et liaison au site web sans SQL.
FactionPlugin est un plugin Minecraft complet pensé pour transformer votre serveur Paper en un véritable univers de factions. Conçu pour les serveurs survie PvP, il réunit dans une seule commande /faction (et ses alias /f, /fac) tout ce qu'il faut pour faire vivre un mode factions riche et moderne :
- 🏰 Territoires revendiqués et protégés par chunk
- 🤝 Diplomatie complète : alliances, guerres, traités, pillage
- 💰 Économie intégrée : banque d'émeraudes, shop global, troc sécurisé
- 🏘️ Villages autonomes avec villageois vanilla recrutés : Constructeur, Guerrier, Archer, Récolteur, Navigateur, Cheminot
- 🚢 Commerce inter-villes par contrats, ports et gares
- 📊 Statistiques et classements détaillés
- 🌐 Liaison site web simplifiée — plus besoin de base MySQL !
- 🏷️ Tab HeroTab synchronisé à la seconde sur tout votre réseau
Une seule commande pour piloter une faction, ses villages, ses alliances, ses guerres, son économie, ses contrats, ses villageois, ses homes, sa boutique, ses stats et son onglet global. Pas une demi-douzaine de plugins à installer, configurer et faire cohabiter — un seul .jar, une seule base YAML, et c'est parti.
Conçu pour Paper 1.21.4 (API Bukkit + Paper), Java 21, prêt à l'emploi : posez le .jar dans plugins/, redémarrez, et tout est en place.
- 🌱 Petits serveurs survie PvP qui veulent un mode factions riche sans empiler 5 plugins incompatibles.
- ⚔️ Serveurs « war zone » qui ont besoin d'alliances, de guerres, de territoires protégés et de grandes armées de villageois.
- 💎 Serveurs économie avec shop global paginé, banque de faction, troc sécurisé, et commerce inter-villes par contrats.
- 🌐 Réseaux avec site web qui veulent synchroniser factions, rangs et carte en direct avec un back-office — sans avoir à monter une base MySQL.
Cette version consolide tout le travail des releases v5.15.x et apporte un ensemble de corrections qui rendent le plugin immédiatement compilable et fonctionnel sur Paper 1.21.4, sans rien casser de ce qui existait déjà.
| Aspect | Avant v5.15.5 | Depuis v5.15.5 |
|---|---|---|
mvn clean package |
✅ compile du premier coup | |
EntitySleepEvent |
❌ supprimé en 1.21.4 | ✅ remplacé par polling Villager#isSleeping() |
MapPalette.matchColor(Color) |
❌ signature supprimée | ✅ nouvelle signature matchColor(r, g, b) |
Import JavaPlugin |
✅ org.bukkit.plugin.java.JavaPlugin |
|
Import PostType |
Contract |
✅ ajouté |
Import Location |
PlayerTeleportManager |
✅ ajouté |
GUI cmdItem |
surcharge unique | ✅ surcharge 6-args (multi-ligne) ajoutée |
Lambda sur view |
✅ capturée en final |
EntitySleepEvent a été supprimé en Paper 1.21.4. La régénération des villageois recrutés dans leur lit est maintenant détectée par polling de Villager#isSleeping() à chaque tick d'IA : la transition éveillé → endormi déclenche le même soin périodique qu'auparavant.
- ✅ Comportement identique à la v5.15.0 — pas de régression côté joueur.
- ✅ Plus aucun appel à une classe/événement inexistant, plus d'erreur silencieuse en console.
- ✅
MapPalette.matchColor(Color)a été supprimé en 1.21.4 → utilisation de la nouvelle signaturematchColor(r, g, b). - ✅ Variable
viewcapturée enfinalavant leforEachqui retire les renderers vanilla — corrige « local variables referenced from a lambda expression must be final ».
- ✅ Version exposée : 5.15.5.
- ✅ Message de démarrage du plugin :
FactionPlugin v5.15.5 — recrutement illimité, villageois niveau 100, rang Mythique, shop sécurisé et améliorations de stabilité
Tous les fichiers générés dans plugins/FactionPlugin/ restent strictement rétro-compatibles. Aucune migration à effectuer : il suffit de remplacer le .jar.
Aucune action requise. Il suffit de remplacer le .jar et de redémarrer.
Crée ta faction (/faction create <nom>), invite des joueurs, désigne un sous-chef, transfère le rôle de chef, quitte ou dissous ta faction. La dissolution peut être immédiate ou différée d'une heure (le temps de tout récupérer : coffre de faction, banque, claims, homes).
Réclame des chunks (/faction claim), configure des permissions fines par joueur sur chaque claim, visualise tes territoires en direct avec la mini-map de faction (/faction claimmap), protège l'accès aux non-membres et aux alliés.
Propose une alliance à une autre faction, accepte ou refuse, romps quand tu veux. Déclare la guerre, combats avec buffs de faction, capitule ou pille le coffre du vaincu (si négocié). Le chat et le tag de guerre (⚔) sont automatiquement appliqués aux combattants.
Recrute des villageois vanilla et attribue-leur un rôle : Constructeur 🔨, Guerrier ⚔, Archer 🏹, Récolteur 🌾, Navigateur ⛵ ou Cheminot 🚂. Ils construisent, combattent, récoltent, transportent — tout seuls. Ils montent de niveau (jusqu'à 100), s'équipent, se reposent et partagent la nourriture entre eux. Aucun plugin d'IA à part : c'est dans FactionPlugin.
Définis un port ou une gare dans chaque village, crée un contrat de livraison entre deux villes, assigne-le à un villageois Navigateur (bateau) ou Cheminot (minecart) — il livrera la marchandise automatiquement, fret protégé par alliance.
Banque d'émeraudes par faction (dépôt, retrait, historique), shop global paginé avec recherche par mot-clé et tri prix ↑/↓, 4 monnaies (fer, or, diamant, émeraude), troc sécurisé joueur↔joueur avec confirmation des deux parties et anti-scam.
Chaque joueur génère de la Puissance Individuelle basée sur ses kills, ses blocs cassés, ses avancements, son temps de jeu, etc. La somme forme la Puissance Globale de la faction. 8 rangs de Pierre à Mythique ☄ (1 000 000 pts), avec effets passifs (Speed, Strength, Resistance, Regeneration, Haste) qui augmentent à mesure que tu montes. Aura de 20 blocs au rang Mythique, préfixe exclusif [☄], 6 homes personnels, 2 spawns supplémentaires.
/faction stats [joueur] : kills, morts, mobs tués, dégâts, blocs, temps de jeu, K/D, advancements, dates de connexion. /faction classementjoueurs <categorie> : top 10 joueurs par catégorie (mobs, pvp, morts, blocs, temps, dégâts, kd, advancements).
Homes personnels (jusqu'à 6 au rang Mythique), /sethome, /home, /delhome. Téléportation entre joueurs avec /tpa, /tpaccept, /tpdeny, warmup et cooldown.
/lier synchronise ton compte Minecraft avec le site web. Depuis la v5.15.4, plus besoin de MySQL — le plugin parle directement au backend Node.js via une API HTTP simple. La commande est compatible avec les versions antérieures du site (qui utilisaient MySQL) tant que le backend expose les bons endpoints.
Sneak + clic droit avec un panneau sur un coffre pour le verrouiller. Seul le propriétaire (et les admins faction.admin) peut l'ouvrir. Protection contre la casse du bloc.
/faction invsee <joueur> : consultation de l'inventaire d'un joueur en lecture seule (admin). /faction sort : tri automatique de coffres et d'inventaires par catégorie.
- Téléchargez la dernière version depuis la page des releases.
- Placez le fichier
FactionPlugin-X.X.X.jardans le dossierplugins/de votre serveur Paper 1.21.x. - Redémarrez le serveur.
- Le fichier
config.ymlest généré automatiquement dansplugins/FactionPlugin/.
ℹ️ Aucun changement de format de données : vos fichiers
factions.yml,claims.yml,bank.yml,ranking.yml,map.yml, etc. restent compatibles.
Le fichier config.yml vous permet de personnaliser :
- les messages (préfixe, format, langue)
- les permissions par rôle
- les paramètres de faction (coûts, limites, taille de faction max)
- les seuils de rangs et les buffs passifs
- la section
mysql:(optionnelle depuis la v5.15.4) pour/lieretFactionTabSync site-url+faction-api-key: suffisant pour activer/liersans MySQL
| Commande | Alias | Description |
|---|---|---|
/faction create <nom> |
/f create, /fac create |
Crée une nouvelle faction |
/faction invite <joueur> |
— | Invite un joueur dans votre faction |
/faction kick <joueur> |
— | Expulse un membre |
/faction setchef <joueur> |
— | Transfère le rôle de chef |
/faction leave |
— | Quitte votre faction |
/faction disband |
— | Dissout la faction (différée d'1 h) |
/faction info [nom] |
— | Affiche les infos d'une faction |
/faction list |
— | Liste toutes les factions |
/faction top |
— | Top 10 des factions par puissance |
/faction claim / unclaim |
— | Réclame / libère le chunk sous vos pieds |
/faction claims |
— | Liste tous les claims de votre faction |
/faction claimmap |
— | Donne une mini-map live des claims |
/faction perms |
— | Ouvre la GUI des permissions du chunk |
/faction stats [joueur] |
— | Affiche les stats complètes d'un joueur |
/faction classementjoueurs <cat> |
cj |
Top 10 joueurs par catégorie |
/faction power |
— | Affiche votre puissance et celle de la faction |
/faction alliance <inviter|accepter|refuser|rompre> |
— | Gestion des alliances |
/faction guerre <déclarer|accepter|refuser|capituler|piller> |
— | Gestion des guerres |
/faction recruter |
— | Recrute le villageois ciblé |
/faction village <create|list|info> |
— | Gestion des villages |
/faction contrat <creer|liste|assigner|annuler> |
— | Contrats de livraison inter-villes |
/faction shop |
— | Ouvre la boutique globale |
/faction bank |
— | Ouvre la banque d'émeraudes de la faction |
/faction trade <joueur> |
— | Ouvre un troc sécurisé avec un joueur |
/faction sethome [nom], /faction home [nom], /faction delhome <nom> |
/sethome, /home, /delhome |
Gestion des homes |
/faction tpa <joueur>, tpaccept, tpdeny |
/tpa, /tpaccept, /tpdeny |
Téléportation entre joueurs |
/faction invsee <joueur> |
— | Ouvre l'inventaire d'un joueur (admin) |
/faction lier [statut] |
/lier |
Lie le compte Minecraft au compte site web (sans SQL) |
/faction rename <nom> |
— | Renomme la faction |
/faction setspawn [1|2] |
— | Définit un spawn de faction |
/faction sort |
— | Tri automatique d'un coffre ou inventaire |
| Permission | Description | Par défaut |
|---|---|---|
faction.use |
Utiliser les commandes de faction | ✅ true |
faction.admin |
Commandes admin (invsee, bypass coffres privés) | op |
- Java 21+ (JDK)
- Maven 3.9+
- Accès réseau aux dépôts PaperMC et Maven Central
git clone https://github.com/herocraftlol/Faction-Create-Friends.git
cd Faction-Create-Friends
mvn clean packageLe JAR est produit dans target/FactionPlugin-5.15.5.jar (≈ 484 KB).
- Paper API 1.21.4 (
io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT) - Java 21 (compilé en target 21)
- Shaded JAR : aucun driver MySQL embarqué (Paper le fournit)
- YAML pour toute la persistance locale
- HTTP pour
/lier(pas de SQL côté plugin)
Tous les fichiers sont créés dans plugins/FactionPlugin/ au premier lancement :
| Fichier | Contenu |
|---|---|
config.yml |
Configuration globale (messages, limites, paramètres IA, section mysql: optionnelle) |
factions.yml |
Factions, claims, alliances, guerres, sous-chefs |
stats.yml |
Statistiques de chaque joueur |
villagers.yml |
Villageois recrutés, équipement, niveaux, chantiers |
shop.yml |
Annonces du shop global |
homes.yml |
Homes personnels et spawn de faction |
privatechests.yml |
Coffres verrouillés |
contracts.yml |
Contrats de livraison inter-villes en cours |
- ✅
mvn clean packagecompile sans erreur dès le premier coup sur Paper 1.21.4. - ✅ Imports
org.bukkit.plugin.java.JavaPlugin,PostType,Locationcorrigés. - ✅ Soin en dormant via polling de
Villager#isSleeping()(Paper 1.21.4 a suppriméEntitySleepEvent). - ✅
MapPalette.matchColor(r, g, b)— nouvelle signature 1.21.4. - ✅ Lambda capture corrigée (
viewrendufinaldansFactionMapManager). - ✅ Nouvelle surcharge
cmdItem(Material, name, desc, extra, tip, enabled)dansMainMenuGUI. - 📦 Aucune migration de données nécessaire — rétro-compatible.
- 🌐
/lierparle directement au site via HTTP (POST /api/faction/push/link-code) — plus besoin de MySQL. - 🔑 Authentification simple par header
X-Faction-Key(clé partagée plugin ↔.envdu site). - ⚙️ Configuration minimale :
site-url+faction-api-key. Sectionmysql:désormais optionnelle. - ✅ Compilation Paper 1.21.4 propre :
JavaPlugin,Material,Enchantment,PotionEffectType,Sound,Particlemis à jour. - 😴 Soin en dormant :
EntitySleepEvent(supprimé) → pollingVillager#isSleeping().
- ✅ Bug critique de duplication dans
/faction shop createcorrigé (items fantômes). - ✅ WebMapSync : échappement JSON complet (
{\"cx\":...}au lieu de{"cx":...}).
- ☄ Nouveau rang MYTHIQUE débloqué à 1 000 000 pts de puissance.
- ✨ Buffs passifs : Hâte IV + Régénération II + Force II + Résistance III + Absorption I.
- 💫 Aura renforcée portée à 20 blocs.
- 💬 Préfixe de chat exclusif
[☄]violet sombre gras. - 🏠 6 homes et 2 spawns supplémentaires.
- ♾️ Recrutement de villageois illimité par faction.
- 📈 Villageois jusqu'au niveau 100 avec seuils d'XP rétrocompatibles.
- ✅ Cause racine identifiée et corrigée : la classe
FactionTabSyncest créée. Elle écrit dans la table MySQLfaction_tab_synclue par HeroTab. - ✅ Table créée automatiquement si elle n'existe pas.
- ⚡ Tâche de fond toutes les 30 s + push immédiat sur recrutement, départ, kick, disband, renommage, montée de rang.
- 🛠 Bug de compilation latent corrigé en passant :
FactionPlugin.javaréférençaitBukkitsans l'importer.
ℹ Cette version remplace tous les correctifs précédents de synchro tab en s'attaquant à la vraie cause racine.
- Dissolution différée d'une heure (
/faction disband) avec libération automatique des claims + coffres personnels. - Nettoyage automatique des factions sans membre (sans délai d'1 h).
- Accès aux coffres préservé pendant l'heure de grâce, peu importe les factions rejointes entre-temps.
- Synchronisation immédiate du tab à la promotion de rang.
- Bug corrigé :
/faction leave,/faction kicket/faction disbandrafraîchissent maintenant l'onglet correctement. - Compat Paper API 1.21.4 (renommages
Material,Enchantment,PotionEffectType,Sound,Particle).
- ⛵ Rôles Navigateur (bateau entre ports) et 🚂 Cheminot (minecart entre gares).
- 📦 Définition de ports/gares, contrats de livraison (
/faction contrat …), fret protégé par alliance.
- Niveaux dérivés de la population (1-4 = Village, 5+ = Ville).
- Base de repli par village, entraide entre villageois (le Récolteur donne de la nourriture aux alliés blessés).
- 🌾 Rôle Récolteur (mine, bois, creuse, cultive selon l'outil).
- 🔨 Constructeur : construction instantanée, échafaudage auto.
- 🏃 Guerrier : fuite et discrétion sous 25 % de vie ou face à 3+ ennemis.
- 🔒 Verrou de GUI pour villageois, chat en couleur rétabli.
/faction recruter: convertit un villageois vanilla en unité de faction.- 📊 5 niveaux d'XP, soins auto, équipements qui s'usent réellement.
- 🖱️ Clic-droit direct sur un villageois recruté, butin de guerre, sommeil réparateur.
- 2 sous-chefs max, permissions granulaires.
- Système d'alliances, homes personnels, coffres privés, TPA entre joueurs.
- 45 items/page, recherche par mot-clé, tri prix ↑/↓. 4 monnaies.
- Banque d'émeraudes, système de claims, commerce entre joueurs, statistiques intégrées, classements.
Ce projet est sous licence MIT. Voir LICENSE pour le texte complet.
Développé par FactionDev. Contributions bienvenues via Pull Requests sur la page GitHub du projet.
Pour toute question ou bug, ouvre une Issue sur le dépôt.
⭐ Si ce plugin t'est utile, n'hésite pas à mettre une étoile au dépôt !