Configuracion de WorldCannon
WorldCannon usa un archivo de configuracion global mas un archivo de configuracion por canon.
Estructura de archivos
- Configuracion global:
plugins/FunRTP/config.yml - Configuraciones por canon:
plugins/FunRTP/custom/fun_rtps/<id>.yml
El plugin tambien incluye un paquete de canon de ejemplo llamado example_world_cannon. Viene desactivado por defecto.
Estructura de la configuracion global
La configuracion principal esta organizada bajo:
runtime.*landing.*messages.*protection.*
Ajustes de ejecucion
| Key | Default | Behavior |
|---|---|---|
runtime.scanIntervalTicks | 10 | Con que frecuencia los canones comprueban si hay jugadores cerca |
runtime.particleIntervalTicks | 15 | Con que frecuencia se renderizan las particulas inactivas del canon |
Ajustes de busqueda de aterrizaje
| Key | Default | Behavior |
|---|---|---|
landing.searchAttemptsPerTick | 2 | Intentos de busqueda por canon y por tick mientras se precarga |
landing.preloadedLocationsPerCannon | 5 | Numero de destinos seguros que el plugin intenta mantener en cola por canon |
landing.searchTimeoutSeconds | 1000 | Tiempo antes de que un canon que sigue buscando se marque como agotado |
landing.slowFallingSeconds | 60 | Duracion de Caida Lenta despues de llegar (el efecto se elimina anticipadamente cuando el jugador aterriza) |
landing.failOpenOnProtectionErrors | false | Si una API de proteccion falla, el aterrizaje se bloquea por defecto |
Sonidos de aterrizaje
Las siguientes claves de sonido son configurables:
landing.sounds.levitationStart.soundlanding.sounds.levitationStart.volumelanding.sounds.levitationStart.pitchlanding.sounds.blastOff.soundlanding.sounds.blastOff.volumelanding.sounds.blastOff.pitch
Los sonidos predeterminados son BLOCK_BEACON_ACTIVATE para el calentamiento y ENTITY_GENERIC_EXPLODE para el lanzamiento.
Listas de materiales inseguros
WorldCannon rechaza posibles puntos de aterrizaje segun dos listas de materiales:
landing.unsafeGroundMaterialslanding.unsafeBodyMaterials
Materiales inseguros del suelo por defecto:
LAVAMAGMA_BLOCKCAMPFIRESOUL_CAMPFIRECACTUSPOWDER_SNOW
Materiales inseguros del cuerpo por defecto:
LAVAWATERFIRESOUL_FIRESWEET_BERRY_BUSHPOWDER_SNOWCOBWEB
Ajustes de mensajes
El plugin expone claves de mensajes y titulos bajo:
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
Las claves de titulo controlan la mensajeria automatica de lanzamiento y llegada. arrivalSubtitles es una lista; el plugin elige una linea al azar en cada lanzamiento. No hay una confirmacion manual en la implementacion actual.
Campos de configuracion por canon
Cada archivo de canon almacena estos campos:
| Field | Default | Notes |
|---|---|---|
isEnabled | true para canones recien creados | Los canones desactivados no se activan |
displayName | id saneado con guiones bajos convertidos en espacios | Se usa en mensajes y en la salida de estado |
cannonLocation | Required | Donde existe el activador del canon |
targetWorld | Mundo actual en el momento de la creacion | Debe estar cargado en tiempo de ejecucion |
searchCenter | Spawn del mundo actual en el momento de la creacion | Si luego queda sin definir, el plugin usa el spawn del mundo objetivo |
triggerRadius | 1.75 | Radio usado para detectar jugadores cercanos |
minSearchRadius | 500 | Distancia minima de busqueda de aterrizaje desde el centro de busqueda |
maxSearchRadius | 5000 | Distancia maxima de busqueda de aterrizaje desde el centro de busqueda |
launchWarmupSeconds | 6 | Tiempo de levitacion/cuenta atras antes del lanzamiento |
verticalBoostTicks | 45 | Ticks de velocidad ascendente antes del teletransporte |
verticalBoostVelocity | 1.35 | Velocidad ascendente aplicada durante el lanzamiento |
enableParticles | true | Controla las particulas inactivas del canon |
requiredPermission | blank | Barrera opcional de permiso extra para ese canon |
Valores predeterminados al crear un canon
Cuando ejecutas /wc create:
- el id del canon se convierte a minusculas y los caracteres que no sean
a-z,0-9,_o-se reemplazan por_ - el nombre visible pasa a ser por defecto el id saneado con guiones bajos convertidos en espacios
cannonLocationse establece en tu ubicacion actualtargetWorldse establece en tu mundo actualsearchCenterse establece en el spawn de ese mundo
Comportamiento de validacion en tiempo de ejecucion
WorldCannon rechaza posibles ubicaciones de aterrizaje cuando falla cualquiera de estas comprobaciones:
- el mundo objetivo no esta cargado
- el centro de busqueda no es valido
- la muestra aleatoria cae fuera del borde del mundo
- no se encuentra una superficie solida segura
- el espacio de los pies o de la cabeza esta bloqueado
- los bloques del terreno o del cuerpo coinciden con las listas configuradas de materiales inseguros
- una integracion de proteccion bloquea el aterrizaje
Si un canon no puede encontrar ubicaciones validas antes de landing.searchTimeoutSeconds, se marca como agotado y empieza a devolver el mensaje de fallo configurado en lugar de lanzar jugadores.