Rotas de transporte
As rotas de transporte levam um jogador ao longo de uma curva definida pelo criador, numa montada configurada como boss personalizado. As rotas ficam em plugins/EliteMobs/transport_routes/. A montada usa uma definição YAML normal e ativada em custombosses/, onde configuras o tipo de entidade, modelo, disfarce e poderes.
Uma rota vai de um início fixo a um fim fixo. Para deixar os jogadores voar entre várias estações através de mestres de voo ou de portais de voo, cria antes uma rede de voos. As redes usam as mesmas montadas e as regras de viagem desta página.
Criar uma rota no jogo
Os comandos do editor só podem ser usados por jogadores e exigem elitemobs.transport.admin.
- Coloca-te no ponto de partida e executa
/em transport create guild_flight. - Voa até cada ponto seguinte e executa
/em transport add. - Inspeciona a pré-visualização de partículas. A curva ténue inclui o próximo ponto proposto.
- Olha na direção para a qual os passageiros devem ficar virados à chegada e executa
/em transport save. - Verifica a montada e as definições guardadas, depois executa
/em transport start guild_flightpara experimentar a rota.
As novas rotas do editor referenciam o boss incluído transport_cannon_seat.yml. Altera transportEntity para o nome de outro ficheiro de boss personalizado ativado, se necessário.
| Comando | Ação |
|---|---|
/em transport create <id> | Iniciar um rascunho na tua posição |
/em transport edit <id> | Editar uma rota existente e ativada |
/em transport add | Acrescentar a tua posição |
/em transport move <number> | Mover um ponto para a tua posição; a numeração começa em 1 |
/em transport remove | Remover o último ponto |
/em transport undo | Desfazer a última edição da geometria, até 32 edições guardadas |
/em transport status | Mostrar o rascunho atual |
/em transport ride | Experimentar o rascunho sem guardar, a partir do seu primeiro ponto |
/em transport save | Guardar a geometria e a orientação de chegada |
/em transport cancel | Descartar o rascunho |
/em transport list | Listar as rotas carregadas |
/em transport reload | Recarregar os ficheiros das rotas e das redes de voos; os voos ativos mantêm a rota original |
/em transport start <id> | Iniciar uma rota guardada |
/em transport stop | Cancelar a tua viagem atual |
Ao guardar, verifica-se que a rota é recarregada com os pontos e a orientação de chegada gravados antes de eliminar o rascunho. Se essa verificação falhar, o rascunho continua disponível para correção ou nova tentativa, mesmo que o ficheiro já tenha sido escrito. Os rascunhos ficam apenas em memória e são eliminados ao desligar-se do servidor ou encerrar.
YAML da rota
Para guild_flight.yml:
isEnabled: true
name: Guild flight
world: my_dungeon
transportEntity: transport_cannon_seat.yml
speed: 12
acceleration: 8
countdownTicks: 60
arrivalYaw: 90
waypoints:
- "10,70,10"
- "20,85,20"
- "40,70,40"
Usa um ID de rota com 1 a 64 letras minúsculas, algarismos, sublinhados ou hífenes. O mundo deve corresponder ao mundo original onde o jogador se encontra. Dentro de uma instância dessa masmorra, o mundo original é resolvido para a instância ativa do jogador; não escrevas nomes de instâncias geradas na configuração.
speed e acceleration devem ser valores positivos e finitos. countdownTicks não pode ser negativo e o valor predefinido é 60 ticks. Ao guardar a geometria, o editor preserva as definições existentes de apresentação e movimento.
Os ficheiros de rotas suportam extends: other_route.yml, pelo que uma rota pode herdar as definições do ficheiro de outra rota e substituir apenas o que for diferente. isEnabled não é herdado. Consulta reutilizar definições.
Fica parado durante a contagem decrescente. Mudar de posição cancela a partida; olhar à volta sem sair do sítio não a cancela. Esta regra aplica-se antes do embarque, não ao movimento da montada durante o voo. /em transport ride move-te primeiro para o primeiro ponto do rascunho, e a sua contagem decrescente só é cancelada se te afastares mais de 2 blocos desse ponto. Os voos a partir de um portal de voo toleram movimento dentro do portal.
Os campos antigos carrier, customModel e flightAnimation são rejeitados. Configura a aparência e o comportamento na definição do boss referenciado.
Adicionar um NPC de transporte
Usa o tipo de NPC TRANSPORT e lista os IDs de rotas carregadas sem .yml:
interactionType: TRANSPORT
transportRoutes:
- guild_flight
Acrescenta estes campos a uma definição de NPC válida. O menu aceita entre 1 e 54 destinos distintos disponíveis e verifica se o jogador continua perto do NPC antes do embarque. Para um NPC que oferece os destinos de uma rede de voos, consulta os mestres de voo.
Espaço livre e interrupções
Cabe ao criador do mapa garantir espaço livre ao longo da rota. A montada segue a curva definida; não contorna obstáculos nem corrige geometria insegura. Pré-visualiza e percorre a rota completa com a montada pretendida, deixando espaço suficiente para ela e para o passageiro.
Os voos usam Minds de voo nativos. Quando a versão do servidor não tem nenhum, ou a montada não consegue ser gerada, por exemplo porque transportEntity está em falta ou desativado, o jogador é teletransportado diretamente para o ponto final, com 2 segundos de cegueira. Quando a montada não consegue ser gerada, a consola regista-o uma vez por rota até o EliteMobs ser recarregado, e os jogadores com elitemobs.transport.admin veem o motivo no chat. Uma montada que é gerada mas não consegue sentar o jogador interrompe a viagem com um erro.
Agachar-se não tira o passageiro da montada durante o voo. A morte, um teletransporte, uma mudança de mundo ou de instância, ou uma montada removida terminam a viagem. Uma viagem interrompida remove a montada; não garante um teletransporte de regresso. Um voo que deixe de progredir durante 5 segundos coloca o passageiro no ponto final. Um passageiro que se desligue a meio do voo fora de uma instância de masmorra é colocado no ponto final no próximo início de sessão, e parar ou recarregar o servidor coloca no ponto final os passageiros que estão a bordo. Numa chegada bem-sucedida, o passageiro fica no ponto final com arrivalYaw.
As montadas cujo tipo de entidade é uma galinha ou um papagaio largam penas e batem as asas enquanto voam.