Criar Spawns
O que são Spawns Personalizados?
Os Spawns Personalizados são usados por Eventos e reforços globais para definir como, onde e quando um evento deve fazer aparecer o boss desse evento.
Os Eventos e reforços globais definem qual spawn estão a usar escrevendo o seu nome de ficheiro.
Criar Spawns Personalizados
Os Spawns Personalizados ficam na pasta customspawns. Um Spawn Personalizado pode ser usado por vários eventos ao mesmo tempo, por isso não precisas de criar um por evento.
Aqui está um exemplo de Spawn Personalizado:
isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true
Criar um Spawn em Qualquer Lugar
Para criar um spawn que pode ocorrer em qualquer lugar, a tua configuração deve assemelhar-se ao seguinte:
isEnabled: true
canSpawnInLight: true
Esta configuração permite que os mobs apareçam em qualquer local, em qualquer mundo, a qualquer hora e durante qualquer fase lunar.
Se estás interessado em criar um spawn mais personalizado, continua a ler abaixo.
Valores
isEnabled
Define se o spawn está ativado.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Exemplo
isEnabled: true
lowestYLevel
Define o nível y mais baixo (altura do mapa) utilizado. Note que a predefinição de 0 impede que os spawns subterrâneos desçam abaixo do nível do mar - defina isto para um valor negativo como -64 se quiser spawns em cavernas profundas.
| Key | Values | Default |
|---|---|---|
lowestYLevel | Integer | 0 |
Exemplo
lowestYLevel: 0
highestYLevel
Define o nível y mais alto (altura do mapa) utilizado.
| Key | Values | Default |
|---|---|---|
highestYLevel | Integer | 320 |
Exemplo
highestYLevel: 320
validWorlds
Define a lista dos mundos onde o spawn personalizado pode acontecer. Esta definição pode ser omitida para permitir que todos os teus mundos sejam válidos.
| Key | Values | Default |
|---|---|---|
validWorlds | String List | nenhum |
Exemplo
validWorlds:
- WORLD
- FUN_LAND
Se quiseres que todos os teus mundos sejam válidos, podes simplesmente não usar a definição ou formatá-la assim:
validWorlds: []
validWorldEnvironments
Define a lista de ambientes de mundo válidos onde o spawn personalizado pode acontecer. Esta definição pode ser omitida para permitir que todos os ambientes sejam válidos.
| Key | Values | Default |
|---|---|---|
validWorldEnvironments | Environment List | nenhum |
Exemplo
validWorldEnvironments:
- NORMAL
- NETHER
Se quiseres que todos os ambientes sejam válidos, podes simplesmente não usar a definição ou formatá-la assim:
validWorldEnvironments: []
validBiomesV2
Define a lista de biomas válidos onde o spawn personalizado pode acontecer. Esta definição pode ser omitida para permitir que todos os biomas sejam válidos.
Esta definição costumava chamar-se validBiomes em versões mais antigas do EM.
Esta definição atualmente não faz nada. O EliteMobs escreve a chave no seu ficheiro de spawn mas nunca a volta a ler, por isso o que quer que coloques nela é ignorado e o spawn comporta-se como se nenhuma restrição de bioma estivesse definida.
Não dependas dela para manter um boss dentro de um bioma específico. Usa validWorlds ou validWorldEnvironments em vez disso, ou restringe o spawn com isSurfaceSpawn / isUndergroundSpawn e as definições de nível Y.
| Key | Values | Default |
|---|---|---|
validBiomesV2 | Biome List | nenhum |
earliestTime
Define a hora mais cedo no jogo em que o spawn personalizado pode acontecer. Ao contrário das outras definições, earliestTime, latestTime e moonPhase são verificadas no momento em que o boss está prestes a ser colocado, e não enquanto a localização está a ser procurada, por isso um spawn cuja localização já foi encontrada simplesmente aguarda até que as condições de tempo e de lua sejam cumpridas.
| Key | Values | Default |
|---|---|---|
earliestTime | Long | 0 |
Exemplo
earliestTime: 0
latestTime
Define a hora mais tarde no jogo em que o spawn personalizado pode acontecer.
| Key | Values | Default |
|---|---|---|
latestTime | Long | 24000 |
Exemplo
latestTime: 24000
moonPhase
Define a fase lunar necessária para que o spawn personalizado ocorra.
| Key | Values | Default |
|---|---|---|
moonPhase | Especial [1] | nenhum |
Exemplo
moonPhase: FULL_MOON
Especial [1]
Expandir Tabela
| Moon Phase | Preview |
|---|---|
NEW_MOON | 🌑 |
WAXING_CRESCENT | 🌒 |
FIRST_QUARTER | 🌓 |
WAXING_GIBBOUS | 🌔 |
FULL_MOON | 🌕 |
WANING_GIBBOUS | 🌖 |
WANING_CRESCENT | 🌘 |
LAST_QUARTER | 🌗 |
bypassWorldGuard
Pretendia fazer o spawn personalizado contornar sistemas de proteção como o WorldGuard.
Esta definição atualmente não faz nada. O EliteMobs lê a chave do teu ficheiro de spawn mas nunca age sobre ela, por isso as flags do WorldGuard são sempre verificadas, independentemente do que definires aqui. Para permitir que um spawn aconteça dentro de uma região protegida, define antes as flags relevantes do WorldGuard nessa região.
canSpawnInLight
Especifica se o spawn personalizado pode ocorrer em blocos iluminados por fontes de luz. Quando definido como false, os spawns só ocorrem com nível de luz 8 ou inferior. Quando definido como true, os spawns podem ocorrer em qualquer nível de luz.
| Key | Values | Default |
|---|---|---|
canSpawnInLight | Boolean | false |
Exemplo
canSpawnInLight: false
isSurfaceSpawn
Define se o spawn personalizado só pode acontecer à superfície de um mundo.
| Key | Values | Default |
|---|---|---|
isSurfaceSpawn | Boolean | false |
Exemplo
isSurfaceSpawn: false
isUndergroundSpawn
Define se o spawn personalizado só pode acontecer no subsolo.
| Key | Values | Default |
|---|---|---|
isUndergroundSpawn | Boolean | false |
Exemplo
isUndergroundSpawn: false
Como é escolhida a localização de um spawn
O EliteMobs não varre o mundo à procura de um sítio. Ele escolhe um jogador online aleatório e desloca-se a partir dele:
- Um jogador é escolhido aleatoriamente entre os jogadores elegíveis para este spawn. Um jogador é ignorado se o seu mundo não estiver em
ValidWorlds.yml, se estiver dentro de uma instância de arena ou masmorra, se o spawn de mobs estiver desligado no seu mundo, ou se osvalidWorlds/validWorldEnvironmentsdo spawn excluírem o seu mundo. Eventos temporizados ignoram adicionalmente jogadores que estejam dentro de um mundo de masmorra do EliteMobs. - Um ponto candidato é escolhido entre 24 e 128 blocos de distância desse jogador, nos eixos X e Z, em qualquer direção.
- O nível Y é resolvido de acordo com
isSurfaceSpawn,isUndergroundSpawnou, se nenhum deles estiver definido, procurando para cima o primeiro bloco com chão sólido por baixo e dois blocos de ar por cima. - O candidato passa então pelas validações abaixo.
São testados até 100 candidatos, 4 por tick. Se nenhum deles funcionar, o EliteMobs espera um minuto e tenta de novo, por isso um evento pode demorar algum tempo a aparecer de facto num servidor movimentado ou muito protegido.
Comportamento de Validação de Spawn
Quando o EliteMobs tenta fazer aparecer um boss usando uma configuração de Spawn Personalizado, executa várias validações automáticas para além dos campos configurados:
- Proximidade do Jogador: Os bosses não aparecerão num raio de 24 blocos de qualquer jogador
- Teto do Nether: Os spawns acima de Y=127 são bloqueados na dimensão Nether
- Segurança do Bloco: Garante que os spawns ocorrem com solo sólido e espaço de ar acima
- Game Rules: Respeita a definição da game rule DO_MOB_SPAWNING
- Flags do WorldGuard: Verifica as flags elite-mob, mob-spawning e event
Estas validações ocorrem automaticamente e não podem ser desativadas através da configuração.
