#
🪧 Système de Logements
#
📂 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 :
#
🛠️ Commandes
Le système de logements est géré par la commande principale /house ou son alias /housing.
#
Commandes Disponibles
#
🔑 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 joueur - Pour 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 limite - Le 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
houses:
signs:
for-sale:
line1: "&9『 {type} 』"
line2: "&f⌂ &e{name}"
line3: "&a&l✦ À VENDRE ✦"
line4: "&e{price}"
#
Maisons occupées
houses:
signs:
occupied:
line1: "&9『 {type} 』"
line2: "&f⌂ &e{name}"
line3: "&c&l❖ OCCUPÉE ❖"
line4: "&7Propriétaire: &f{owner}"
#
Placeholders disponibles
#
🔄 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 :
houses:
MaMaison:
world: world
owner: df7d5ec6-eb81-4588-92e4-63b607481348
forSale: false
price: 1500
type: PLAYER
max-members: 3 # Limite de membres configurable
signs:
'0':
world: world
position: -22.0,-42.0,-62.0
#
♻️ 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
# Sélectionner une zone avec WorldEdit
//wand
(sélectionner deux points)
# Créer une maison d'équipe
/house create VillaDeluxe team
# Mettre la maison en vente
/house forsale VillaDeluxe 10000
# Configurer un panneau
/house setsign VillaDeluxe
(viser un panneau)
# Restreindre l'achat à une équipe
/house restrictteam VillaDeluxe Aventuriers
#
Gestion des membres d'une maison personnelle
# Définir la limite de membres pour une maison
/house setmaxmembers MaMaison 5
# Ajouter des membres à la maison
/house addmember MaMaison Joueur1
/house addmember MaMaison Joueur2
# Retirer un membre de la maison
/house removemember MaMaison Joueur1
#
🛡️ Permissions
#
🧠 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.