Pular para o conteúdo principal

Criar Spawns

webapp_banner.jpg

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.

KeyValuesDefault
isEnabledBooleantrue
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.

KeyValuesDefault
lowestYLevelInteger0
Exemplo
lowestYLevel: 0

highestYLevel

Define o nível y mais alto (altura do mapa) utilizado.

KeyValuesDefault
highestYLevelInteger320
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.

KeyValuesDefault
validWorldsString Listnenhum
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.

KeyValuesDefault
validWorldEnvironmentsEnvironment Listnenhum
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.

KeyValuesDefault
validBiomesV2Biome Listnenhum

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.

KeyValuesDefault
earliestTimeLong0
Exemplo
earliestTime: 0

latestTime

Define a hora mais tarde no jogo em que o spawn personalizado pode acontecer.

KeyValuesDefault
latestTimeLong24000
Exemplo
latestTime: 24000

moonPhase

Define a fase lunar necessária para que o spawn personalizado ocorra.

KeyValuesDefault
moonPhaseEspecial [1]nenhum
Exemplo
moonPhase: FULL_MOON

Especial [1]

Expandir Tabela
Moon PhasePreview
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.

KeyValuesDefault
canSpawnInLightBooleanfalse
Exemplo
canSpawnInLight: false

isSurfaceSpawn

Define se o spawn personalizado só pode acontecer à superfície de um mundo.

KeyValuesDefault
isSurfaceSpawnBooleanfalse
Exemplo
isSurfaceSpawn: false

isUndergroundSpawn

Define se o spawn personalizado só pode acontecer no subsolo.

KeyValuesDefault
isUndergroundSpawnBooleanfalse
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:

  1. 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 os validWorlds / validWorldEnvironments do spawn excluírem o seu mundo. Eventos temporizados ignoram adicionalmente jogadores que estejam dentro de um mundo de masmorra do EliteMobs.
  2. Um ponto candidato é escolhido entre 24 e 128 blocos de distância desse jogador, nos eixos X e Z, em qualquer direção.
  3. O nível Y é resolvido de acordo com isSurfaceSpawn, isUndergroundSpawn ou, 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.
  4. 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.