====== CElevator — Pour de beaux ascenseurs ! ====== Mod Luanti (anciennement Minetest) ajoutant des ascenseurs réalistes et entièrement fonctionnels. Les ascenseurs peuvent desservir de 2 à 100 étages, se déplacer à vitesse variable, gérer des groupes de cabines, et s'interfacer avec les mods d'automatisation. Pour info Luffy0805 a fait un tutoriel visuel à l'académie pour vous permettre de mieux comprendre l'installation des ascenseurs. ---- ===== 1. Éléments du mod ===== **Éléments principaux** ^ Élément ^ Nom interne ^ Rôle ^ | Contrôleur | ''celevator:controller'' | Cerveau de l'ascenseur, 2 blocs de hauteur | | Variateur de vitesse (Drive) | ''celevator:drive'' | Moteur électronique, posé à côté du contrôleur | | Machine de treuil | ''celevator:machine'' | Mécanisme physique de la machinerie | | Régulateur de vitesse | ''celevator:governor'' | Sécurité anti-survitesse | | Dispatcher | ''celevator:dispatcher'' | Gestion de groupes jusqu'à 16 cabines | **Cabines (4 variantes)** ^ Élément ^ Nom interne ^ Description ^ | Cabine standard | ''celevator:car_standard'' | Cabine de base avec paroi avant vitrée | | Cabine dos vitré | ''celevator:car_glassback'' | Paroi avant et arrière en verre | | Cabine métal | ''celevator:car_metal'' | Parois métalliques, aspect industriel | | Cabine métal/verre | ''celevator:car_metal_glassback'' | Métal devant, verre derrière | **Portes** ^ Élément ^ Nom interne ^ Description ^ | Porte en verre | ''celevator:hwdoor_glass'' | Porte de palier ou de cabine, vitrée | | Porte en métal | ''celevator:hwdoor_steel'' | Porte de palier ou de cabine, acier | **Système de guidage et positionnement** ^ Élément ^ Nom interne ^ Description ^ | Rail de guidage | ''celevator:guide_rail'' | Rail vertical dans la gaine | | Rail avec support | ''celevator:guide_rail_bracket'' | Rail avec fixation murale intégrée | | Ruban de positionnement | ''celevator:tape'' | Ruban vertical de référence de position | | Ruban avec aimants | ''celevator:tape_magnets'' | Ruban avec zones magnétiques pour précision d'arrêt | | Ruban avec support | ''celevator:tape_bracket'' | Ruban avec fixation murale | **Boutons et indicateurs** ^ Élément ^ Nom interne ^ Description ^ | Bouton d'appel (montée+descente) | ''celevator:callbutton_both'' | Bouton de palier double | | Bouton d'appel montée | ''celevator:callbutton_up'' | Bouton de palier montée uniquement | | Bouton d'appel descente | ''celevator:callbutton_down'' | Bouton de palier descente uniquement | | Lanterne directionnelle (haut) | ''celevator:lantern_up'' | Indicateur lumineux de direction montée | | Lanterne directionnelle (bas) | ''celevator:lantern_down'' | Indicateur lumineux de direction descente | | Lanterne double | ''celevator:lantern_both'' | Indicateur montée et descente | | Lanterne verticale haut/bas/double | ''celevator:lantern_vertical_*'' | Variantes orientées verticalement | | Indicateur de position (PI) | ''celevator:pi'' | Afficheur numérique de l'étage actuel | | PI + lanterne (pilantern) | ''celevator:pilantern_*'' | PI combiné avec lanterne directionnelle | | Borne de destination (kiosk) | ''celevator:dbdkiosk'' | Borne de saisie de destination (dispatching avancé) | **Sécurités et commutateurs** ^ Élément ^ Nom interne ^ Description ^ | Interrupteur pompiers phase I | ''celevator:fs1switch'' | Active le service pompiers phase I | | Interrupteur générique | ''celevator:genericswitch'' | Interrupteur configurable pour usages divers | **Amortisseurs de fosse** ^ Élément ^ Nom interne ^ Description ^ | Amortisseur élastomère | ''celevator:buffer_rubber'' | Amortisseur simple, rebondissant (bouncy = 60) | | Amortisseur hydraulique | ''celevator:buffer_oil'' | Amortisseur à huile, 2 blocs de hauteur | **Modules d'intégration** ^ Élément ^ Nom interne ^ Prérequis ^ | Module Digilines E/S | ''celevator:digilines_io'' | Mod ''digilines'' | | Module Mesecons entrée | ''celevator:mesecons_input'' | Mod ''mesecons'' | | Module Mesecons sortie | ''celevator:mesecons_output'' | Mod ''mesecons'' | | Laptop (surveillance) | Via mod ''laptop'' | Mod ''laptop'' | ---- ===== 2. Recettes de craft ===== Les ingrédients exacts varient selon le jeu de base installé. Si ''basic_materials'' est absent, certaines pièces (engrenage, barre acier, plastique…) sont remplacées par des équivalents plus simples (bloc d'or, bloc d'étain…). Les recettes ci-dessous utilisent les noms génériques. **Contrôleur** (''celevator:controller'') [ barre acier ] [ circuit intégré ] [ barre acier ] [ barre acier ] [ circuit intégré ] [ barre acier ] [ barre acier ] [ lingot acier ] [ barre acier ] **Variateur de vitesse** (''celevator:drive'') [ silicium ] [ barre acier ] [ silicium ] [ silicium ] [ circuit IC ] [ silicium ] [ silicium ] [ barre acier ] [ silicium ] **Machine de treuil** (''celevator:machine'') [ engrenage acier ] [ fil cuivre ] [ ] [ barre acier ] [ barre acier ] [ moteur ] [ lingot acier ] [ lingot acier ] [ lingot acier ] **Dispatcher** (''celevator:dispatcher'') [ barre acier ] [ circuit IC ] [ barre acier ] [ barre acier ] [ circuit IC ] [ barre acier ] [ barre acier ] [ barre acier ] [ barre acier ] **Régulateur de vitesse** (''celevator:governor'') [ barre acier ] [ barre acier ] [ bouton ] [ barre acier ] [ engrenage acier ] [ barre acier ] **Cabine standard** (''celevator:car_standard'') [ lingot acier ] [ lingot acier ] [ lingot acier ] [ bouton ] [ porte verre ] [ lingot acier ] [ interrupteur ] [ lingot acier ] [ lingot acier ] **Cabine dos vitré** (''celevator:car_glassback'') — remplacer le dernier lingot de la rangée 2 par du verre. **Cabine métal** (''celevator:car_metal'') — entourer une cabine standard de barres acier : [ ] [ barre acier ] [ ] [ barre acier ] [ cabine standard ] [ barre acier ] [ ] [ barre acier ] [ ] **Porte en verre** (''celevator:hwdoor_glass'') [ barre acier ] [ barre acier ] [ barre acier ] [ verre ] [ barre acier ] [ verre ] [ barre acier ] [ barre acier ] [ barre acier ] **Porte en métal** (''celevator:hwdoor_steel'') [ barre acier ] [ barre acier ] [ barre acier ] [ bande acier ] [ barre acier ] [ bande acier ] [ barre acier ] [ barre acier ] [ barre acier ] **Rail de guidage** (''celevator:guide_rail'' ×10) [ bande acier ] [ lingot acier ] [ bande acier ] [ bande acier ] [ lingot acier ] [ bande acier ] [ bande acier ] [ lingot acier ] [ bande acier ] **Rail avec support** (''celevator:guide_rail_bracket'') — craft sans forme : rail + bande acier. **Ruban de positionnement** (''celevator:tape'' ×15) [ bande acier ] [ ] [ bande acier ] [ bande acier ] [ bande acier ] [ bande acier ] [ bande acier ] [ ] [ bande acier ] **Ruban avec aimants** (''celevator:tape_magnets'') — craft sans forme : ruban + minerai de fer + feuille plastique. **Ruban avec support** (''celevator:tape_bracket'') — craft sans forme : ruban + bande acier. **Boutons d'appel** Bouton montée+descente : [ bande acier ] [ lightstone bleue ] [ bouton ] [ bande acier ] [ lightstone extra ] [ ] [ bande acier ] [ lightstone bleue ] [ bouton ] Bouton montée seulement : [ bande acier ] [ lightstone bleue ] [ bouton ] [ bande acier ] [ lightstone extra ] [ ] [ bande acier ] [ ] [ ] Bouton descente seulement : [ bande acier ] [ ] [ ] [ bande acier ] [ lightstone extra ] [ ] [ bande acier ] [ lightstone bleue ] [ bouton ] **Lanternes directionnelles** Lanterne montée : [ bande acier ] [ lightstone verte ] [ bande acier ] [ lightstone extra ] [ bande acier ] [ ] Lanterne descente : [ bande acier ] [ ] [ bande acier ] [ lightstone extra ] [ bande acier ] [ lightstone rouge ] Lanterne double : [ bande acier ] [ lightstone verte ] [ bande acier ] [ lightstone extra ] [ bande acier ] [ lightstone rouge ] Les variantes verticales (''lantern_vertical_*'') s'obtiennent par **craft sans forme** à partir de la lanterne horizontale correspondante (et vice-versa). **Indicateur de position (PI)** (''celevator:pi'') [ bande acier ] [ lightstone extra ] [ lightstone rouge ] [ écran LCD ] [ bande acier ] [ lightstone extra ] **PI + lanterne** — craft sans forme : lanterne correspondante + PI. **Amortisseur élastomère** (''celevator:buffer_rubber'') [ feuille plastique ] [ teinture noire ] [ feuille plastique ] [ ] [ lingot acier ] [ ] [ lingot acier ] [ lingot acier ] [ lingot acier ] **Amortisseur hydraulique** (''celevator:buffer_oil'') [ ] [ barre acier ] [ ] [ lingot acier ] [ seau vide ] [ lingot acier ] [ lingot acier ] [ lingot acier ] [ lingot acier ] **Interrupteur pompiers phase I** (''celevator:fs1switch'') [ bande acier ] [ lightstone rouge ] [ lightstone extra ] [ bande acier ] [ interrupteur ] [ teinture rouge ] [ bande acier ] [ ] [ ] **Interrupteur générique** (''celevator:genericswitch'') [ bande acier ] [ ] [ ] [ bande acier ] [ interrupteur ] [ teinture noire ] [ bande acier ] [ ] [ ] **Borne de destination** (''celevator:dbdkiosk'') [ bande acier ] [ circuit IC ] [ verre ] [ bande acier ] [ lightstone blanc ] [ verre ] [ bande acier ] [ ] [ verre ] **Module Digilines** (''celevator:digilines_io'') — nécessite le mod ''digilines'' : [ ] [ ] [ ] [ ] [ circuit IC ] [ ] [ fil digilines ] [ bande acier ] [ fil digilines ] **Module Mesecons entrée / sortie** — nécessite le mod ''mesecons'' : Entrée : [ fil mesecons ] [ bande acier ] [ bande acier ] Sortie : [ bande acier ] [ bande acier ] [ fil mesecons ] (rangées 1 et 2 vides, circuit IC au centre) ---- ===== 3. Construire un ascenseur — guide complet ===== **Étape 1 — Creuser la gaine** Creusez un puits vertical de **minimum 3×3 blocs** de large pour la gaine. La hauteur doit couvrir tous les étages que vous souhaitez desservir, plus la fosse en bas (au moins 2 blocs sous le premier palier) et la salle des machines en haut. **Étape 2 — Installer les amortisseurs en fosse** Au fond de la gaine, placez un ou deux **amortisseurs** (élastomère ou hydraulique). L'amortisseur hydraulique occupe 2 blocs de hauteur — vérifiez l'espace disponible. **Étape 3 — Poser les rails de guidage** Dans la gaine, placez les **rails de guidage** (''guide_rail'') en colonne verticale, un par bloc de hauteur. Utilisez la variante avec support (''guide_rail_bracket'') tous les quelques blocs pour fixer les rails au mur. **Étape 4 — Poser le ruban de positionnement** À côté des rails, placez le **ruban de positionnement** (''tape'') sur toute la hauteur de la gaine. Aux niveaux des paliers d'arrêt, remplacez les sections de ruban par le **ruban avec aimants** (''tape_magnets'') — c'est ce qui indique au système à quel étage il doit s'arrêter précisément. **Étape 5 — Poser les portes de palier** À chaque étage, installez une **porte de palier** (''hwdoor_glass'' ou ''hwdoor_steel'') dans le mur de la gaine. Les portes s'ouvrent automatiquement à l'arrivée de la cabine. **Étape 6 — Poser les boutons d'appel** À côté de chaque porte de palier, posez un **bouton d'appel** adapté : * Palier intermédiaire → bouton double montée+descente (''callbutton_both'') * Dernier palier en bas → bouton montée uniquement (''callbutton_up'') * Dernier palier en haut → bouton descente uniquement (''callbutton_down'') **Étape 7 — Installer la cabine** Placez la **cabine** (''car_standard'' ou autre variante) dans la gaine, en face des rails et du ruban. **Étape 8 — Poser le contrôleur** Dans la salle des machines (typiquement au sommet de la gaine), posez le **contrôleur** (''celevator:controller''). Il occupe 2 blocs de hauteur — assurez-vous d'avoir l'espace. Le contrôleur doit être **orienté face à la gaine**. Pour retirer le contrôleur, tenez la touche **Sneak** (shift) en cassant le bloc, sinon la destruction est bloquée. Ceci évite les suppressions accidentelles. **Étape 9 — Poser le variateur (Drive)** Le **variateur** (''celevator:drive'') se place **à côté** du contrôleur, légèrement en hauteur (au niveau du bloc supérieur du contrôleur, sur le côté). Le contrôleur détecte automatiquement le variateur adjacent à 90°. **Étape 10 — Configurer via l'interface du contrôleur** Frappez le contrôleur (clic gauche) pour ouvrir son panneau de configuration. L'interface permet de : * Nommer les étages * Régler la vitesse de déplacement (jusqu'à 20 m/s — au-delà de 7,5 m/s déconseillé en multijoueur) * Configurer les niveaux de sécurité d'accès * Régler les temporisateurs de portes (dwell, nudging) * Activer les modes spéciaux (service indépendant, pompiers, inspection) Refermez le panneau en frappant à nouveau le contrôleur. **Étape 11 — Associer les composants** Via l'interface du contrôleur, associez les composants posés dans la gaine : boutons d'appel, lanternes, indicateurs de position. Chaque composant doit être lié à l'ID de la cabine correspondante. ---- ===== 4. Le contrôleur ===== Le contrôleur est l'élément central du système. Il dispose de : **Indicateurs visuels** Quand le panneau est ouvert (porte du boîtier visible), une **animation différente** s'affiche selon que la cabine est en mouvement ou à l'arrêt — c'est la LED de statut. **Interface de configuration** L'interface graphique donne accès à : * L'état général de la cabine (position, vitesse, mode actuel) * La configuration des étages (noms, accès) * Les paramètres de vitesse et de portes * Le diagnostic en temps réel **Modes de service** * **Normal** : fonctionnement standard, collectif sélectif * **Service indépendant** : la cabine ne répond qu'aux appels internes (opérateur dédié) * **Service pompiers phase I** : la cabine rejoint le palier de rappel et attend * **Service pompiers phase II** : contrôle manuel depuis la cabine pour les pompiers * **Inspection cabine** : déplacement lent depuis le toit de la cabine * **Inspection salle machines** : déplacement lent depuis le contrôleur **Rechargement du firmware** La commande ''/celevator_reloadcontroller'' (privs ''server'') recharge le firmware du contrôleur depuis le disque sans redémarrer le serveur — utile pour le développement ou le débogage. ---- ===== 5. Modes de fonctionnement avancés ===== **Dispatching de groupe** Le **dispatcher** (''celevator:dispatcher'') gère un groupe de jusqu'à **16 cabines** avec un algorithme de dispatching par ETA (Estimated Time of Arrival) réel. Les boutons d'appel sont partagés entre toutes les cabines du groupe. Pour activer le mode groupe : associez un dispatcher aux contrôleurs concernés via leurs interfaces respectives. **Dispatching par destination (DBD)** La **borne de destination** (''celevator:dbdkiosk'') permet aux passagers de saisir leur étage de destination avant de monter dans la cabine. Le système assigne alors la cabine optimale. Nécessite le mode dispatching de groupe. **Mode swing** Une cabine en mode swing alterne entre le service du groupe et le service individuel selon la charge et l'heure. Configurable depuis l'interface du contrôleur. **Intégration mView** Si le mod ''laptop'' est installé, le logiciel **mView** de surveillance à distance est disponible. Il permet de monitorer l'état de toutes les cabines depuis n'importe où dans le monde. ---- ===== 6. Intégrations optionnelles ===== **Mesecons** Le **module d'entrée Mesecons** (''celevator:mesecons_input'') permet de déclencher des actions sur le contrôleur (appel de cabine, changement de mode) à partir de signaux Mesecons. Le **module de sortie Mesecons** (''celevator:mesecons_output'') émet un signal Mesecons en fonction d'événements de l'ascenseur (arrivée à un étage, ouverture de porte…). **Digilines** Le **module Digilines** (''celevator:digilines_io'') permet la communication bidirectionnelle avec des Luacontrollers via le réseau Digilines. Exemples d'usage : afficher l'étage courant sur un écran externe, déclencher une action à l'arrivée d'une cabine. **xcompat** Si le mod ''xcompat'' est installé, les recettes s'adaptent automatiquement aux ingrédients de n'importe quel jeu de base supporté. **basic_materials** Si installé, les recettes utilisent des composants plus réalistes : barres acier, bandes acier, circuit intégré, moteur, fil de cuivre, feuille plastique, silicium. ---- ===== 7. Commandes de chat ===== ^ Commande ^ Paramètres ^ Description ^ | ''/carcall'' | '' '' | Envoie un appel interne à la cabine spécifiée | | ''/upcall'' | '' '' | Envoie un appel de palier montée | | ''/downcall'' | '' '' | Envoie un appel de palier descente | | ''/elevstatus'' | '''' | Affiche l'état actuel de la cabine (position, vitesse, mode) | | ''/celevator_reloadcontroller'' | aucun | Recharge le firmware (privs ''server'' requis) | L'**ID cabine** est un numéro attribué automatiquement à la pose du contrôleur. Il est visible dans l'interface du contrôleur et dans l'infotext du bloc. ---- ===== 8. Conseils et problèmes courants ===== **Le contrôleur ne détecte pas le variateur** Le variateur doit être placé exactement **à côté et légèrement en hauteur** du contrôleur, à 90° par rapport à sa face avant. Vérifiez l'orientation du contrôleur (la face avant doit faire face à la gaine) et repositionnez le variateur si besoin. **La cabine ne s'arrête pas précisément aux étages** Vérifiez que le **ruban avec aimants** (''tape_magnets'') est bien posé au niveau exact de chaque palier d'arrêt. Sans aimants, la cabine ne peut pas détecter la zone de nivellement (DZ) et s'arrête approximativement. **Les portes ne s'ouvrent pas** Vérifiez que les portes de palier sont bien associées à la bonne cabine dans l'interface du contrôleur. Vérifiez aussi que la cabine est bien alignée avec la porte (positionnement vertical correct). **Vitesse déconseillée en multijoueur** Au-delà de 7,5 m/s, la synchronisation entre clients peut causer des problèmes visuels ou de positionnement. Limitez la vitesse à 7,5 m/s maximum pour un serveur multijoueur. **Impossible de retirer le contrôleur** Maintenez la touche **Sneak** (shift) tout en cassant le contrôleur. Cette protection empêche les suppressions accidentelles. **Consulter le manuel complet** Le dépôt contient un manuel PDF complet (''docs/celevator_controller_manual.pdf'') couvrant en détail l'installation, la configuration, et les procédures de service.