Saltar al contenido principal

CannonRTP (WorldCannon)

CannonRTP es un plugin de teletransporte aleatorio multi-cañón para servidores de Minecraft. El proyecto se llama WorldCannon internamente, pero el plugin se registra como CannonRTP en Bukkit y ese es el nombre que ven los jugadores y administradores.

Detalles importantes de nomenclatura:

  • Nombre del plugin: CannonRTP
  • Comando raíz: /cannonrtp
  • Alias: /crtp, /wc
  • Permisos: cannonrtp.admin, cannonrtp.use
  • Carpeta de configuración: plugins/CannonRTP/

Qué Hace

CannonRTP es un sistema de aterrizaje aleatorio multi-cañón en lugar de un único lanzador fijo.

Cada cañón puede:

  • detectar jugadores que entran en un radio de activación
  • precargar y mantener una cola de ubicaciones de aterrizaje seguras en un mundo objetivo configurado
  • rechazar terreno inseguro, espacios bloqueados y tierra protegida
  • opcionalmente requerir un permiso adicional por cañón
  • lanzar jugadores a través de una secuencia de calentamiento cronometrado, vista previa de coordenadas, impulso, teletransporte y caída lenta
  • opcionalmente mostrar un modelo personalizado de FreeMinecraftModels en la ubicación del cañón

Flujo de Lanzamiento

Cuando un jugador camina hacia el radio de activación de un cañón elegible:

  1. CannonRTP verifica cannonrtp.use.
  2. Verifica el requiredPermission opcional del cañón.
  3. Verifica que el cañón esté habilitado, tenga una configuración válida y tenga ubicaciones de aterrizaje precargadas.
  4. Consume una ubicación de aterrizaje segura precargada de la cola del cañón.
  5. Inicia el calentamiento del lanzamiento: el jugador recibe Levitación y ve un título/subtítulo de cuenta regresiva con vistas previas de coordenadas aleatorias.
  6. Cuando el calentamiento termina, reproduce el sonido de despegue, aplica impulso vertical, teletransporta al jugador 50 bloques sobre el destino y aplica Caída Lenta.
  7. El efecto de Caída Lenta se elimina temprano cuando el jugador aterriza en el suelo.

Si el cañón tiene un customModel configurado y el modelo fire de FreeMinecraftModels existe, se usa una animación de lanzamiento alternativa donde el jugador se sienta en la ubicación del cañón durante el calentamiento.

Reglas de Seguridad de Aterrizaje

Antes de que una ubicación sea aceptada en la cola de precarga, el código actual verifica:

  • el mundo objetivo está cargado
  • el centro de búsqueda es válido
  • la ubicación está dentro del borde del mundo
  • existe una superficie segura más alta (sólida, no líquida, no aire)
  • los espacios de pies y cabeza son transitables
  • la superficie de aterrizaje no está en la lista configurada de materiales de suelo inseguros
  • los bloques de pies y cabeza no están en la lista configurada de materiales de cuerpo inseguros
  • todas las integraciones de protección habilitadas permiten la ubicación

Estados del Cañón

Cada cañón tiene un estado interno visible mediante /wc status:

EstadoSignificado
ChargingAún precargando su primer lote de ubicaciones seguras
ReadyTiene suficientes ubicaciones precargadas para lanzar jugadores
MaintainingListo pero aún rellenando ubicaciones consumidas
ExhaustedTiempo agotado sin encontrar suficientes ubicaciones válidas
InvalidError de configuración (ej. mundo objetivo no cargado)

Un cañón se vuelve listo para lanzar una vez que ha almacenado al menos chargedLocationsPerCannon destinos válidos.

Expectativas de Ejecución

  • Minecraft API: 1.21
  • Java: 21
  • Software de servidor recomendado: Paper o un fork compatible actual
  • Dependencia opcional: FreeMinecraftModels (para modelos de cañón personalizados)

Empieza Aquí