Aller au contenu principal

CannonRTP (WorldCannon)

CannonRTP est un plugin de téléportation aléatoire multi-canons pour les serveurs Minecraft. Le projet s’appelle en interne WorldCannon, mais le plugin s’enregistre sous le nom CannonRTP dans Bukkit et c’est le nom que voient les joueurs et les administrateurs.

Détails de nommage importants :

  • Nom du plugin : CannonRTP
  • Commande racine : /cannonrtp
  • Alias : /crtp, /wc
  • Permissions : cannonrtp.admin, cannonrtp.use
  • Dossier de configuration : plugins/CannonRTP/

Ce qu’il fait

CannonRTP est un système d’atterrissage aléatoire multi-canons plutôt qu’un lanceur fixe unique.

Chaque canon peut :

  • détecter les joueurs entrant dans le rayon de déclenchement
  • précharger et maintenir une file d’attente d’emplacements d’atterrissage sûrs dans un monde cible configuré
  • rejeter les terrains dangereux, les espaces bloqués et les terrains protégés
  • optionnellement exiger une permission supplémentaire par canon
  • lancer les joueurs à travers une séquence de préchauffage, aperçu des coordonnées, impulsion, téléportation et chute lente
  • optionnellement afficher un modèle personnalisé FreeMinecraftModels à l’emplacement du canon

Déroulement du lancement

Quand un joueur entre dans le rayon de déclenchement d’un canon éligible :

  1. CannonRTP vérifie cannonrtp.use.
  2. Il vérifie la requiredPermission optionnelle du canon.
  3. Il vérifie que le canon est activé, a une configuration valide et des emplacements d’atterrissage préchargés.
  4. Il consomme un emplacement d’atterrissage sûr préchargé de la file d’attente de ce canon.
  5. Le préchauffage commence : le joueur reçoit la Lévitation et voit un titre/sous-titre avec un compte à rebours et des aperçus de coordonnées aléatoires.
  6. Quand le préchauffage se termine, le son de décollage est joué, l’impulsion verticale est appliquée, le joueur est téléporté 50 blocs au-dessus de la destination et la Chute Lente est appliquée.
  7. L’effet de Chute Lente est retiré prématurément quand le joueur atterrit sur le sol.

Si le canon a un customModel configuré et que le modèle fire de FreeMinecraftModels existe, une animation de lancement alternative est utilisée où le joueur est assis à l’emplacement du canon pendant le préchauffage.

Règles de sécurité d’atterrissage

Avant qu’un emplacement soit accepté dans la file de préchargement, le code actuel vérifie :

  • que le monde cible est chargé
  • que le centre de recherche est valide
  • que l’emplacement est à l’intérieur de la bordure du monde
  • qu’une surface sûre la plus haute existe (solide, non liquide, non air)
  • que les espaces des pieds et de la tête sont praticables
  • que la surface d’atterrissage n’est pas dans la liste configurée des matériaux de sol dangereux
  • que les blocs des pieds et de la tête ne sont pas dans la liste configurée des matériaux de corps dangereux
  • que toutes les intégrations de protection activées autorisent l’emplacement

États du canon

Chaque canon a un état interne visible via /wc status :

ÉtatSignification
ChargingPrécharge encore son premier lot d’emplacements sûrs
ReadyA suffisamment d’emplacements préchargés pour lancer des joueurs
MaintainingPrêt mais encore en train de remplir les emplacements consommés
ExhaustedDélai expiré sans trouver assez d’emplacements valides
InvalidErreur de configuration (ex. monde cible non chargé)

Un canon devient prêt au lancement une fois qu’il a stocké au moins chargedLocationsPerCannon destinations valides.

Prérequis d’exécution

  • API Minecraft : 1.21
  • Java : 21
  • Logiciel serveur recommandé : Paper ou un fork compatible actuel
  • Dépendance optionnelle : FreeMinecraftModels (pour les modèles de canon personnalisés)

Commencer ici