Système de Logements
Ce document présente comment configurer et utiliser le système de logements (houses) dans le plugin Horizons.
📂 Structure des Fichiers
Les logements sont gérés via plusieurs fichiers de configuration situés dans le dossier plugins/Horizons/
:
houses.yml
- Stocke les informations sur les maisonsconfig.yml
- Contient les paramètres généraux du système, notamment les formats des panneaux
🏗️ Types de Logements
Types Disponibles
Le plugin supporte deux types de logements :
PLAYER
Maisons appartenant à des joueurs individuels
Points personnels
TEAM
Maisons appartenant à des équipes entières
Points d'équipe
🛠️ Commandes
Le système de logements est géré par la commande principale /house
ou son alias /housing
.
Commandes Disponibles
/house create <nom> <team|player>
Crée une nouvelle maison
horizons.house.create
/house forsale <nom> <prix>
Met une maison en vente
horizons.house.forsale
/house addmember <nom> <joueur>
Ajoute un membre à une maison
Propriétaire
/house removemember <nom> <joueur>
Retire un membre d'une maison
Propriétaire
/house list [page]
Liste toutes les maisons
horizons.house.list
/house delete <nom>
Supprime une maison
horizons.house.delete
/house setsign <nom>
Définit un panneau pour une maison
horizons.house.setsign
/house restrictteam <nom> [équipe|none]
Restreint l'achat d'une maison à une équipe
horizons.house.restrictteam
/house setmaxmembers <nom> <nombre>
Définit le nombre maximum de membres
horizons.house.setmaxmembers
🔑 Créer une Maison
Pour créer une maison, vous devez d'abord sélectionner une zone avec WorldEdit, puis utiliser la commande /house create
.
Étapes pour créer une maison :
Obtenez l'outil de sélection WorldEdit avec
//wand
Sélectionnez deux points opposés pour définir la zone
Exécutez
/house create <nom> <team|player>
💰 Vente et Achat de Maisons
Mettre une maison en vente
Utilisez la commande /house forsale <nom> <prix>
pour mettre une maison en vente à un prix spécifique.
Acheter une maison
Les joueurs peuvent acheter une maison en cliquant sur un panneau de vente. Notez que:
Pour les maisons de type
PLAYER
, le coût est prélevé uniquement des points personnels du joueurPour les maisons de type
TEAM
, le coût est prélevé des points de l'équipe du joueur
Restrictions d'achat par équipe
Vous pouvez restreindre l'achat d'une maison à une équipe spécifique :
Pour restreindre :
/house restrictteam <nom> <équipe>
Pour supprimer la restriction :
/house restrictteam <nom> none
Pour vérifier la restriction actuelle :
/house restrictteam <nom>
🚪 Gestion des Membres
Maisons de joueurs
Les propriétaires peuvent ajouter/retirer des membres :
/house addmember <nom> <joueur>
- Ajoute un membre à la maison/house removemember <nom> <joueur>
- Retire un membre de la maison
Limite de membres
Chaque maison de type PLAYER
possède une limite configurable de membres:
La limite par défaut est de 3 membres
Utilisez
/house setmaxmembers <nom> <nombre>
pour modifier cette limiteLe propriétaire n'est pas compté dans cette limite car il a accès automatiquement
Maisons d'équipe
Pour les maisons d'équipe, tous les membres de l'équipe ont automatiquement accès à la maison.
🪧 Panneaux de Maisons
Les maisons demandent d'avoir des panneaux informatifs qui permettent de les acheter.
Configuration des Panneaux
Utilisez la commande /house setsign <nom>
en visant un panneau pour l'associer à une maison.
Format des Panneaux
Les formats d'affichage des panneaux sont configurables dans config.yml
:
Maisons à vendre
Maisons occupées
Placeholders disponibles
{type}
Type de maison (Équipe/Joueur)
{name}
Nom de la maison
{price}
Prix avec la devise
{owner}
Nom du propriétaire
{team}
Nom de l'équipe (pour les maisons d'équipe)
{team_restriction}
Équipe ayant le droit d'acheter la maison
{max_members}
Nombre maximum de membres autorisés
{current_members}
Nombre actuel de membres
{members_count}
Affichage "actuel/maximum" des membres
🔄 Cycle de Vie d'une Maison
Création : Un administrateur crée la maison avec WorldEdit et
/house create
Mise en vente : La maison est mise en vente avec
/house forsale
Achat : Un joueur achète la maison, devenant propriétaire
Utilisation : Le propriétaire peut ajouter des membres (jusqu'à la limite configurée)
🏠 Configuration des Maisons
Chaque maison dans houses.yml
possède plusieurs propriétés configurables :
♻️ Rechargement du Système
Le système de maisons peut être rechargé via la commande /horizons reload housing
. Cette commande:
Recharge la configuration
Met à jour toutes les maisons
Actualise les panneaux
📋 Exemple Complet
Création et configuration d'une maison
Gestion des membres d'une maison personnelle
🛡️ Permissions
horizons.house.create
Permet de créer des maisons
horizons.house.forsale
Permet de mettre des maisons en vente
horizons.house.admin
Accès complet à toutes les fonctionnalités
horizons.house.delete
Permet de supprimer des maisons
horizons.house.setsign
Permet de configurer des panneaux
horizons.house.restrictteam
Permet de restreindre l'achat à une équipe
horizons.house.setmaxmembers
Permet de modifier la limite de membres
horizons.house.help
Permet d'afficher toutes les commandes d'aide
🧠 Concepts Avancés
Interaction avec WorldGuard
Le système de logements utilise WorldGuard pour gérer les régions protégées. Chaque maison est associée à une région WorldGuard portant le préfixe "house_" suivi du nom de la maison.
Intégration avec le Système d'Équipes
Les maisons d'équipe utilisent le système d'équipes du plugin
Le coût des maisons d'équipe est prélevé des points d'équipe
Tous les membres de l'équipe ont accès aux maisons d'équipe
Logique de Paiement
Maisons personnelles (PLAYER) : Le coût est prélevé uniquement des points personnels du joueur
Maisons d'équipe (TEAM) : Le coût est prélevé des points de l'équipe du joueur
Gestion des Membres
Le propriétaire a toujours accès à sa maison et n'est pas compté dans la limite de membres
Il est impossible d'ajouter le propriétaire comme membre car il a déjà accès
Chaque maison a une limite configurable de membres (la valeur par défaut est 3)
Mise à jour des Panneaux
Les panneaux de maisons sont automatiquement mis à jour :
Lors du chargement du plugin
Lors de la mise en vente d'une maison
Lors de l'achat d'une maison
Lors de la modification des restrictions d'équipe
Protection des Panneaux
Les panneaux associés aux maisons sont protégés contre la destruction par les joueurs non-administrateurs.