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:
- CannonRTP verifica
cannonrtp.use. - Verifica o
requiredPermissionopcional do canhão. - Verifica que o canhão está habilitado, tem uma configuração válida e tem localizações de pouso pré-carregadas.
- Consome uma localização de pouso segura pré-carregada da fila desse canhão.
- 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.
- Quando o aquecimento termina, o som de decolagem é reproduzido, impulso vertical é aplicado, o jogador é teletransportado 50 blocos acima do destino e Queda Lenta é aplicada.
- 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:
| Estado | Significado |
|---|---|
| Charging | Ainda pré-carregando seu primeiro lote de localizações seguras |
| Ready | Tem localizações pré-carregadas suficientes para lançar jogadores |
| Maintaining | Pronto mas ainda reabastecendo localizações consumidas |
| Exhausted | Tempo esgotado sem encontrar localizações válidas suficientes |
| Invalid | Erro 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)