Pular para o conteúdo principal

CannonRTP (WorldCannon)

CannonRTP é um plugin de teletransporte aleatório multi-canhão para servidores Minecraft. O projeto é chamado internamente de WorldCannon, mas o plugin se registra como CannonRTP no Bukkit e esse é o nome que jogadores e administradores veem.

Detalhes importantes de nomenclatura:

  • Nome do plugin: CannonRTP
  • Comando raiz: /cannonrtp
  • Aliases: /crtp, /wc
  • Permissões: cannonrtp.admin, cannonrtp.use
  • Pasta de configuração: plugins/CannonRTP/

O que faz

CannonRTP é um sistema de pouso aleatório multi-canhão em vez de um único lançador fixo.

Cada canhão pode:

  • detectar jogadores que entram no raio de ativação
  • pré-carregar e manter uma fila de localizações de pouso seguras em um mundo alvo configurado
  • rejeitar terreno inseguro, espaços bloqueados e terrenos protegidos
  • opcionalmente exigir uma permissão extra por canhão
  • lançar jogadores através de uma sequência de aquecimento, prévia de coordenadas, impulso, teletransporte e queda lenta
  • opcionalmente exibir um modelo personalizado FreeMinecraftModels na localização do canhão

Fluxo de lançamento

Quando um jogador entra no raio de ativação de um canhão elegível:

  1. CannonRTP verifica cannonrtp.use.
  2. Verifica o requiredPermission opcional do canhão.
  3. Verifica que o canhão está habilitado, tem uma configuração válida e tem localizações de pouso pré-carregadas.
  4. Consome uma localização de pouso segura pré-carregada da fila desse canhão.
  5. O aquecimento de lançamento começa: o jogador recebe Levitação e vê um título/subtítulo com contagem regressiva e prévias de coordenadas aleatórias.
  6. Quando o aquecimento termina, o som de decolagem é reproduzido, impulso vertical é aplicado, o jogador é teletransportado 50 blocos acima do destino e Queda Lenta é aplicada.
  7. O efeito de Queda Lenta é removido antecipadamente quando o jogador pousa no chão.

Se o canhão tem um customModel configurado e o modelo fire do FreeMinecraftModels existe, uma animação de lançamento alternativa é usada onde o jogador fica sentado na localização do canhão durante o aquecimento.

Regras de segurança de pouso

Antes de uma localização ser aceita na fila de pré-carregamento, o código atual verifica:

  • se o mundo alvo está carregado
  • se o centro de busca é válido
  • se a localização está dentro da borda do mundo
  • se uma superfície segura mais alta existe (sólida, não líquida, não ar)
  • se os espaços dos pés e da cabeça são transitáveis
  • se a superfície de pouso não está na lista configurada de materiais de chão inseguros
  • se os blocos dos pés e da cabeça não estão na lista configurada de materiais de corpo inseguros
  • se todas as integrações de proteção habilitadas permitem a localização

Estados do canhão

Cada canhão tem um estado interno visível via /wc status:

EstadoSignificado
ChargingAinda pré-carregando seu primeiro lote de localizações seguras
ReadyTem localizações pré-carregadas suficientes para lançar jogadores
MaintainingPronto mas ainda reabastecendo localizações consumidas
ExhaustedTempo esgotado sem encontrar localizações válidas suficientes
InvalidErro de configuração (ex. mundo alvo não carregado)

Um canhão fica pronto para lançamento quando armazena pelo menos chargedLocationsPerCannon destinos válidos.

Requisitos de execução

  • API do Minecraft: 1.21
  • Java: 21
  • Software de servidor recomendado: Paper ou um fork compatível atual
  • Dependência opcional: FreeMinecraftModels (para modelos de canhão personalizados)

Comece aqui