WorldCannon Configuration
WorldCannon utilise un fichier de configuration global ainsi qu'un fichier de configuration par canon.
File Layout
- Configuration globale :
plugins/FunRTP/config.yml - Configurations par canon :
plugins/FunRTP/custom/fun_rtps/<id>.yml
Le plugin inclut aussi un package d'exemple nomme example_world_cannon. Il est desactive par defaut.
Global Config Structure
La configuration principale est organisee sous :
runtime.*landing.*messages.*protection.*
Runtime Settings
| Key | Default | Behavior |
|---|---|---|
runtime.scanIntervalTicks | 10 | Frequence a laquelle les canons verifient les joueurs proches |
runtime.particleIntervalTicks | 15 | Frequence d'affichage des particules des canons inactifs |
Landing Search Settings
| Key | Default | Behavior |
|---|---|---|
landing.searchAttemptsPerTick | 2 | Tentatives de recherche par canon et par tick pendant le prechargement |
landing.preloadedLocationsPerCannon | 5 | Nombre de destinations sures que le plugin essaie de garder en file d'attente |
landing.searchTimeoutSeconds | 1000 | Temps avant qu'un canon encore en recherche soit marque comme epuise |
landing.slowFallingSeconds | 60 | Duree de Slow Falling apres l'arrivee (l'effet est retire plus tot lorsque le joueur atterrit) |
landing.failOpenOnProtectionErrors | false | Si une API de protection echoue, l'atterrissage est bloque par defaut |
Landing Sounds
Les cles de son suivantes sont configurables :
landing.sounds.levitationStart.soundlanding.sounds.levitationStart.volumelanding.sounds.levitationStart.pitchlanding.sounds.blastOff.soundlanding.sounds.blastOff.volumelanding.sounds.blastOff.pitch
Les sons par defaut sont BLOCK_BEACON_ACTIVATE pour la preparation et ENTITY_GENERIC_EXPLODE pour le decollage.
Unsafe Material Lists
WorldCannon rejette les emplacements d'atterrissage candidats a partir de deux listes de materiaux :
landing.unsafeGroundMaterialslanding.unsafeBodyMaterials
Materiaux de sol dangereux par defaut :
LAVAMAGMA_BLOCKCAMPFIRESOUL_CAMPFIRECACTUSPOWDER_SNOW
Materiaux corporels dangereux par defaut :
LAVAWATERFIRESOUL_FIRESWEET_BERRY_BUSHPOWDER_SNOWCOBWEB
Message Settings
Le plugin expose les cles de message et de titre sous :
messages.prefixmessages.helpHeadermessages.createdCannonmessages.deletedCannonmessages.movedCannonmessages.targetWorldUpdatedmessages.searchCenterUpdatedmessages.reloadmessages.noPermissionmessages.cannonDisabledmessages.queueCalibrationmessages.noValidLocationYetmessages.noValidLocationFoundmessages.invalidConfigurationmessages.statusLinemessages.probeAllowedmessages.probeBlockedmessages.unknownCommandmessages.titles.launchQueuedTitlemessages.titles.launchQueuedSubtitlemessages.titles.destinationPreviewTitlemessages.titles.destinationPreviewSubtitlemessages.titles.destinationConfirmedTitlemessages.titles.destinationConfirmedSubtitlemessages.titles.arrivalSubtitles
Les cles de titre controlent les messages automatiques de lancement et d'arrivee. arrivalSubtitles est une liste ; le plugin choisit une ligne au hasard a chaque lancement. Il n'existe pas d'invite de confirmation manuelle dans l'implementation actuelle.
Per-Cannon Config Fields
Chaque fichier de canon stocke les champs suivants :
| Field | Default | Notes |
|---|---|---|
isEnabled | true pour les canons nouvellement crees | Les canons desactives ne se declenchent pas |
displayName | Id assaini avec les underscores convertis en espaces | Utilise dans les messages et la sortie de statut |
cannonLocation | Obligatoire | Emplacement du declencheur du canon |
targetWorld | Monde actuel au moment de la creation | Doit etre charge au runtime |
searchCenter | Spawn du monde actuel au moment de la creation | Si cette valeur est ensuite absente, le plugin utilise le spawn du monde cible |
triggerRadius | 1.75 | Rayon utilise pour detecter les joueurs proches |
minSearchRadius | 500 | Distance minimale de recherche d'atterrissage depuis le centre de recherche |
maxSearchRadius | 5000 | Distance maximale de recherche d'atterrissage depuis le centre de recherche |
launchWarmupSeconds | 6 | Temps de levitation/compte a rebours avant le lancement |
verticalBoostTicks | 45 | Nombre de ticks de vitesse verticale avant la teleportation |
verticalBoostVelocity | 1.35 | Vitesse verticale appliquee pendant le lancement |
enableParticles | true | Controle les particules du canon au repos |
requiredPermission | vide | Porte de permission supplementaire optionnelle pour ce canon |
Cannon Creation Defaults
Quand vous executez /wc create :
- l'id du canon est mis en minuscules et les caracteres autres que
a-z,0-9,_et-sont remplaces par_ - le nom d'affichage prend par defaut l'id assaini avec les underscores convertis en espaces
cannonLocationprend votre position actuelletargetWorldprend votre monde actuelsearchCenterprend le spawn de ce monde
Runtime Validation Behavior
WorldCannon rejette les emplacements d'atterrissage candidats quand l'une de ces verifications echoue :
- le monde cible n'est pas charge
- le centre de recherche est invalide
- l'echantillon aleatoire tombe hors de la world border
- aucune surface sure et solide n'est trouvee
- l'espace des pieds ou de la tete est bloque
- le terrain ou les blocs corporels correspondent aux listes configurees de materiaux dangereux
- une integration de protection bloque l'atterrissage
Si un canon ne peut pas trouver d'emplacements valides avant landing.searchTimeoutSeconds, il devient epuise et renvoie le message d'echec configure au lieu de lancer les joueurs.