Aller au contenu principal

Itinéraires de transport

Les itinéraires de transport portent un joueur le long d'une courbe définie à l'avance, sur une monture de boss personnalisé configurée. Les itinéraires se trouvent dans plugins/EliteMobs/transport_routes/. La monture est une définition YAML ordinaire activée dans custombosses/, où vous configurez son type d'entité, son modèle, son déguisement et ses pouvoirs.

Un itinéraire va d'un point de départ fixe à un point d'arrivée fixe. Pour permettre aux joueurs de voler entre plusieurs stations par l'intermédiaire de maîtres de vol ou de portails de vol, construisez plutôt un réseau de vol. Les réseaux utilisent les mêmes montures et les mêmes règles de trajet que celles décrites sur cette page.

Créer un itinéraire en jeu​

Les commandes de l'éditeur sont réservées aux joueurs et nécessitent elitemobs.transport.admin.

  1. Placez-vous au point de départ et exécutez /em transport create guild_flight.
  2. Volez jusqu'à chaque point suivant et exécutez /em transport add.
  3. Examinez l'aperçu en particules. La courbe estompée inclut le prochain point proposé.
  4. Regardez dans la direction vers laquelle les passagers doivent être orientés à l'arrivée et exécutez /em transport save.
  5. Vérifiez les réglages enregistrés de la monture et de l'itinéraire, puis exécutez /em transport start guild_flight pour essayer le trajet.

Les nouveaux itinéraires de l'éditeur référencent le boss personnalisé fourni transport_cannon_seat.yml. Au besoin, remplacez transportEntity par le nom de fichier d'un autre boss personnalisé activé.

CommandeAction
/em transport create <id>Commencer un nouveau brouillon à votre position
/em transport edit <id>Modifier un itinéraire existant activé
/em transport addAjouter votre position
/em transport move <number>Déplacer un point à votre position ; la numérotation commence à 1
/em transport removeSupprimer le dernier point
/em transport undoAnnuler la dernière modification de géométrie, avec un historique de 32 modifications maximum
/em transport statusAfficher le brouillon actuel
/em transport rideEssayer le brouillon sans l'enregistrer, en partant de son premier point
/em transport saveEnregistrer la géométrie et l'orientation horizontale d'arrivée
/em transport cancelAbandonner le brouillon
/em transport listLister les itinéraires chargés
/em transport reloadRecharger les fichiers d'itinéraires et de réseaux de vol ; les vols en cours conservent leur itinéraire initial
/em transport start <id>Commencer un itinéraire enregistré
/em transport stopAnnuler votre trajet actuel

L'enregistrement vérifie que l'itinéraire se recharge avec les points et l'orientation d'arrivée sauvegardés avant de supprimer le brouillon. Si cette vérification échoue, le brouillon reste disponible pour correction ou nouvelle tentative, même si le fichier a déjà été écrit. Les brouillons restent en mémoire et disparaissent à la déconnexion ou à l'arrêt.

YAML d'un itinéraire​

Pour guild_flight.yml :

isEnabled: true
name: Guild flight
world: my_dungeon
transportEntity: transport_cannon_seat.yml
speed: 12
acceleration: 8
countdownTicks: 60
arrivalYaw: 90
waypoints:
- "10,70,10"
- "20,85,20"
- "40,70,40"

Utilisez un identifiant d'itinéraire en minuscules de 1 à 64 caractères : lettres, chiffres, traits de soulignement ou traits d'union. Le monde doit correspondre au monde de création dans lequel se trouve le joueur. À l'intérieur d'une instance de ce donjon, ce monde est résolu vers l'instance active du joueur ; ne saisissez pas en dur les noms d'instances générés.

speed et acceleration doivent être des valeurs finies strictement positives. countdownTicks doit être positif ou nul et vaut 60 ticks par défaut. L'éditeur conserve les réglages existants de présentation et de comportement lors de l'enregistrement de la géométrie.

Les fichiers de route prennent en charge extends: other_route.yml : une route peut ainsi hériter des réglages d'un autre fichier de route et ne redéfinir que ce qui diffère. isEnabled n'est pas hérité. Consultez Réutiliser des définitions.

Restez immobile pendant le compte à rebours du départ. Changer de position annule le départ ; regarder autour de soi sans bouger ne l'annule pas. Cette annulation s'applique avant l'embarquement, pas au déplacement de la monture pendant le vol. /em transport ride vous déplace d'abord au premier point du brouillon, et son compte à rebours ne s'annule que si vous vous éloignez de plus de 2 blocs de ce point. Les vols depuis un portail de vol tolèrent les déplacements à l'intérieur du portail.

Les anciens champs d'itinéraire carrier, customModel et flightAnimation sont refusés. Configurez l'apparence et le comportement dans la définition de boss personnalisé référencée.

Ajouter un PNJ de voyage​

Utilisez le type de PNJ TRANSPORT et listez les identifiants d'itinéraires chargés sans .yml :

interactionType: TRANSPORT
transportRoutes:
- guild_flight

Ajoutez ces champs à une définition de PNJ valide. Le menu accepte de 1 à 54 destinations distinctes disponibles et vérifie que le joueur est toujours près du PNJ avant l'embarquement. Pour un PNJ qui propose les destinations d'un réseau de vol, voir les maîtres de vol.

Dégagement de l'itinéraire et interruptions​

Les créateurs de cartes sont responsables du dégagement des itinéraires. La monture suit la courbe définie ; elle ne cherche pas de chemin autour des obstacles et ne corrige pas une géométrie dangereuse. Prévisualisez et parcourez l'itinéraire complet avec la monture prévue, en laissant assez de place pour la monture et son passager.

Les vols utilisent les Minds volants natifs. Lorsque la version du serveur n'en possède pas, ou que la monture ne peut pas apparaître, par exemple parce que transportEntity est absent ou désactivé, le joueur est téléporté directement au point final avec 2 secondes de cécité à la place. Lorsque la monture n'apparaît pas, la console le consigne une seule fois par itinéraire jusqu'au rechargement d'EliteMobs, et les joueurs ayant elitemobs.transport.admin voient la raison dans le chat. Une monture qui apparaît mais ne peut pas installer le joueur interrompt le trajet avec une erreur.

S'accroupir ne fait pas descendre le passager pendant un vol. La mort, une téléportation, un changement de monde ou d'instance, ou la suppression de la monture terminent le voyage. Un trajet interrompu supprime la monture ; il ne garantit pas de téléportation de retour. Un vol qui ne progresse plus pendant 5 secondes dépose le passager au point final. Un passager qui se déconnecte en plein vol en dehors d'une instance de donjon est placé au point final à sa prochaine connexion, et l'arrêt ou le rechargement du serveur place au point final les passagers à bord. Une arrivée réussie place le passager au point final avec arrivalYaw.

Les montures dont le type d'entité est une poule ou un perroquet perdent des plumes et battent des ailes pendant le vol.