Saltar para o conteúdo principal

Construir para o EliteMobs

A página do wiki a seguir ajuda-o a compreender o processo necessário para criar masmorras e arenas do EliteMobs.

Vocabulário:

  • "Boss" - Encontro grande, concebido para ser enfrentado por muita gente
  • "Miniboss" - Encontro menor, normalmente possível de derrotar por 1 jogador
  • "Fodder" (bucha de canhão) - Mobs relativamente fáceis de matar

Compreender as categorias de masmorra do EliteMobs​

Lairs (Covis)​

Categoria de menor tamanho

As Lairs costumam ser estruturas únicas de cerca de 50x50, distribuídas como mundos, e normalmente contêm um grande encontro de boss, embora algumas também possam conter um miniboss e alguma bucha de canhão.

Minimasmorras​

Categoria de tamanho médio

As minimasmorras costumam ser estruturas de cerca de 100x100 ou 150x150, muitas vezes com várias estruturas ou estruturas com várias secções. Têm 1 boss e, normalmente, pelo menos 3 ou mais minibosses. Também têm bastante bucha de canhão.

Adventures (Aventuras)​

As Adventures são mapas de aventura inteiros, normalmente não medidos em blocos. Têm o tamanho de uma cidade ou até maiores. Possuem 1 boss e mais de 10 minibosses, além de dezenas de buchas de canhão únicas que normalmente somam centenas ou milhares no total dentro do mapa.

Arenas​

As arenas são desafios de sobrevivência por vagas no EliteMobs. Uma área de cerca de 100x100 é um ponto de partida útil; os cantos configurados definem a região real. Escolha o número de vagas conforme a duração pretendida da sessão. O desempenho depende dos mobs ativos e das suas mecânicas, não de um limite universal de 50 vagas.

Opções de Configuração de Arena:

  • Formatos de Arena: As arenas podem ser configuradas como retangulares ou cilíndricas usando a definição cylindricalArena
  • Limites de Jogadores: Defina o número mínimo e máximo de jogadores para participar na arena
  • Controlo de Acesso: Restrinja o acesso à arena usando requisitos de permissão
  • Recompensas Personalizadas: Configure recompensas específicas para a conclusão das vagas da arena
  • Personalização de Vagas: Personalize os intervalos entre vagas e as composições de boss de cada vaga

Masmorras Instanciadas​

As masmorras instanciadas usam um modelo de mundo criado pelo autor. O EliteMobs copia esse mundo para cada jogador ou grupo admitido.

As Masmorras Instanciadas oferecem uma experiência de masmorra personalizada para cada jogador ou grupo. Quando os jogadores entram numa masmorra instanciada:

  • Um novo mundo é criado especificamente para esse grupo
  • A vida do boss acompanha o tamanho do grupo: com dois ou mais jogadores, a vida máxima passa a ser baseHealth x 0.75 x playerCount, limitada pelo settings.attribute.maxHealth.max do servidor (2048 por predefinição). Um jogador sozinho enfrenta a vida sem ajuste
  • Nas masmorras dinâmicas, o nível dos bosses segue o nível que os jogadores selecionam antes de escolher uma dificuldade
  • É possível configurar um bloqueio de loot para que os jogadores que derrotaram recentemente o boss não recebam dele loot nem XP de habilidade

Masmorras de Desafio de Encantamento: Defina enchantmentChallenge: true para conteúdo usado pelas tentativas de encantamento que selecionam um desafio. O processo escolhe um desafio instalado e guarda o item do jogador até o resultado ser resolvido. Estes desafios são privados para esse jogador e rejeitam participantes adicionais e a entrada em grupo.

Raids​

Não existe um processo separado de raid descrito aqui. Use as definições suportadas de masmorra instanciada para criar encontros adequados ao tamanho de grupo pretendido.

Opções de Configuração de Masmorra​

Ao criar masmorras, os administradores têm acesso a várias opções de configuração:

As regras de explosões, fluxo de líquidos e elytra abaixo são registadas para mundos com protect: true. Desativar essa proteção impede o registo dessas regras do mundo.

Definições de Ambiente:

  • Ambiente do Mundo: Configure as masmorras para usar os ambientes de mundo Normal, Nether ou End através do campo environment
  • Controlo de Explosões: Ative ou desative o dano a blocos por explosão dentro da masmorra usando a flag allowExplosionBlockDamage (predefinição: false)
  • Controlo de Fluxo de Líquidos: Controle se os líquidos podem fluir dentro da masmorra usando a flag allowLiquidFlow (predefinição: true)
  • Controlo de Elytra: Permita ou proíba o voo com elytra dentro da masmorra usando a flag allowElytra (predefinição: false)

Gestão de Jogadores:

  • Bloqueio de loot: dungeonLockoutMinutes controla durante quanto tempo um jogador que derrotou um boss instanciado fica sem loot e XP de habilidade desse boss. A predefinição é 4320 minutos / 72 horas; 0 desativa o bloqueio. Isto não impede de voltar a entrar na masmorra
  • Número de Jogadores: Defina minPlayerCount (predefinição 1) e maxPlayerCount (predefinição 5) para conteúdo instanciado
  • Mensagens de Região: regionEnterMessage e regionLeaveMessage continuam a ser campos de configuração, mas atualmente não enviam notificações aos jogadores.
  • Requisitos de Permissão: Restrinja o acesso à masmorra instanciada com permission

Métodos de Construção:

  • Construção baseada em mundos: Toda a masmorra é distribuída como um mundo Minecraft. As masmorras de schematic foram removidas no EliteMobs 9.0. Um pacote com contentType: SCHEMATIC_DUNGEON é recusado no carregamento com um aviso, e uma pasta schematics é recusada na importação. Use os santuários elite do BetterStructures para conteúdo desse tipo
  • Versionamento de Pacote: Use dungeonVersion para acompanhar atualizações de conteúdo e gerir versões de masmorra
  • Listagem em Teletransportes: Use listedInTeleports (predefinição: true) para controlar se a masmorra aparece nos menus dos teletransportadores de masmorra
  • Música de Fundo: Defina song para tocar uma faixa personalizada enquanto os jogadores estão dentro da masmorra

Tematização​

A coisa mais importante sobre qualquer estrutura do EliteMobs é o tema. Os temas influenciam o design da construção, o seu conteúdo, a sua lore e os seus bosses.

Como exemplo, pode ver The North Pole aqui. Tinha o conceito de colocar bosses temáticos de Natal dentro de um globo de neve, resultando num local visualmente impactante e mecanicamente interessante.

Aqui está outro exemplo, The Oasis. Esse foi totalmente concebido para criar um local do antigo Egito tomado por mortos-vivos e múmias, e é uma das construções mais populares do EliteMobs.

Locais de combate​

Os locais de combate devem evitar criar terreno facilmente explorável. Isto significa evitar fazer pilares nos quais os jogadores possam subir para ficarem seguros, decorações que possam ser usadas para enganar a IA (cheese) e outros obstáculos do género. Acabarão sempre por ser encontrados alguns exploits, e isso não é muito importante, mas os locais de boss devem ser menos propensos a sofrer com esses exploits.

A área de combate de boss ideal é relativamente plana, desobstruída, com cerca de 30 blocos de raio, e pode conter alguns pilares ou outros elementos de mapa atrás dos quais os jogadores precisem de se esconder para superar certas mecânicas de boss.

Os corredores devem ter pelo menos 5 blocos de largura se a intenção for ter adds dentro deles. As arenas de miniboss podem ter cerca de 15 blocos de raio, dependendo dos poderes/temas que tiverem.

Note que estas são dimensões mínimas. Não há realmente qualquer problema em ultrapassá-las.

Tenha em mente que pode vedar ou alterar os blocos do ambiente usando EliteScript ou Blocos Transitivos. Esta é uma ótima maneira de garantir que os jogadores só possam avançar depois de derrotar um determinado mob.

Comandos de blocos transitivos​

Os blocos transitivos são registados dentro do jogo, e não escritos à mão. Todos estes exigem a permissão elitemobs.transitiveblocks e têm de ser executados por um jogador, e <type> é ON_SPAWN (blocos colocados quando o boss aparece) ou ON_REMOVE (blocos colocados quando o boss é derrotado):

ComandoFinalidade
/em transitiveBlocks register <filename> <ON_SPAWN/ON_REMOVE>Regista blocos transitivos para um boss regional
/em transitiveBlocks registerArea <filename> <ON_SPAWN/ON_REMOVE>Regista uma área grande de blocos transitivos em vez de blocos individuais
/em transitiveBlocks edit <filename> <ON_SPAWN/ON_REMOVE>Edita os blocos já registados para esse boss
/em transitiveBlocks editArea <filename> <ON_SPAWN/ON_REMOVE>Edita uma área de blocos transitivos registada
/em transitiveBlocks cancelCancela a sessão de registo ou edição em que está

<filename> é o ficheiro do boss ao qual os blocos pertencem e tem preenchimento automático a partir dos seus bosses personalizados instalados.

Os blocos ON_REMOVE são aplicados quando o boss é genuinamente derrotado — morto em combate ou removido com o comando de kill. Deliberadamente, não são aplicados quando o boss desaparece por outros motivos, como um encerramento do servidor, um reload, um timeout de despawn ou um reset de arena, para que um restart não possa guardar o mundo com a estrutura de um boss indevidamente removida.

O EliteMobs inclui verificações antiexploit e recursos de marcação de combate que complementam locais de combate bem concebidos. Não cobrem todos os exploits possíveis.

Conceber para o EliteMobs​

Quanto melhor conhecer o EliteMobs, melhor será o conteúdo que criar para ele. A seguir está uma lista de recursos do EliteMobs que o ajudarão a ter ideias interessantes para a sua masmorra:

  • Bosses Regionais - Posicione encontros persistentes com locais de spawn, limites de deslocação e tempos de reaparecimento. As masmorras instanciadas copiam as posições criadas dos bosses para cada instância; invocações e bosses de fase têm o seu próprio ciclo de vida.
  • Criar bosses - Isto mostrará tudo o que um boss pode fazer e ser, como disfarces, multiplicadores de vida, a capacidade de se deslocar e a que velocidade, provocações (taunts) e mais!
  • Poderes e scripts personalizados - Use poderes Lua ou EliteScript em YAML para criar ataques temporizados, condições e mecânicas de encontros. O EliteMobs inclui 71 poderes, com ataques elementais, variantes de projéteis, mecânicas de bosses e utilidades; 68 são ficheiros Lua.
  • Baús de Tesouro - Podem conter itens ou até transformar-se em inimigos (mímicos)
  • Fases de boss - Os bosses podem ter fases. Este sistema é muito poderoso porque os bosses podem transformar-se em qualquer coisa entre as fases, incluindo diferentes tipos de entidade, diferentes disfarces, diferentes modelos personalizados e assim por diante. Também é possível configurar músicas específicas de cada fase para reforçar a atmosfera.
  • Blocos Transitivos - São blocos que são colocados quando um boss faz spawn ou morre. Também podem ser gerados e removidos quando um boss muda de fase! Podem ser usados para criar arenas dinâmicas muito interessantes.
  • Wormholes - Portais que teletransportam os jogadores para outros locais. style aceita CUBE como predefinição, além de ICOSAHEDRON, CRYSTAL e NONE, com efeitos de partículas e cores RGB personalizáveis.

Recursos Adicionais de Boss:

  • Montarias de Boss: Os bosses podem montar outras entidades com pontos de montagem de modelo personalizado para efeitos visuais únicos
  • Rastos de Boss: Configure rastos visuais de partículas que seguem os bosses enquanto estes se movem
  • Provocações de Boss: Configure várias mensagens de combate aleatórias que os bosses podem usar (mensagens ao causar dano e ao receber dano)
  • Mecânicas de Fuga de Boss: Configure um timeout e um escapeMessage para remover o boss após algum tempo

Design de encontros​

O design de encontros deve ser uma prioridade ao conceber a área de combate. Idealmente, teria uma ideia de quais os poderes que deseja usar, ou pelo menos de qual o tema que os poderes devem seguir - algo como fogo, raio, gelo, reforços, ou qualquer outra coisa que combine com os poderes do EliteMobs. Depois de saber quais devem ser os poderes, pode conceber a área de combate em conformidade.

Se os bosses tiverem um poder que exija fugir deles, a área tem de ser suficientemente grande para o acomodar. Se existir um poder em que tenha de se esconder atrás de um obstáculo, a estrutura tem de ter esse tipo de obstáculo. Existem muitos detalhes que podem entrar na construção destas arenas, e quanto mais tiver em conta, melhor será o encontro.

Modificar o Resource Pack do EliteMobs​

A partir da versão 1.21.4 do Minecraft e da versão 9.1.13 do EliteMobs, o resource pack do EliteMobs foi atualizado para se alinhar com o novo método do Minecraft para usar modelos personalizados.

O EliteMobs mantém o seu pacote predefinido em plugins/EliteMobs/resource_pack/em_rsp_defaults/. No arranque, compara a soma de verificação incluída com .rsp_checksum e substitui a pasta se o pacote incluído mudar ou se a soma ou a pasta estiver em falta. Não compara os seus ficheiros editados: as alterações podem sobreviver a um reinício e desaparecer numa exportação posterior. Distribua recursos próprios noutra pasta de pacote dentro de resource_pack/.

A estrutura do pacote é a seguinte:

em_rsp_defaults

  • assets
    • elitemobs
      • items
        • Esta pasta contém ficheiros JSON que definem quais os modelos personalizados que o Minecraft pode usar. Os modelos em si ficam armazenados na pasta models.
        • Subpastas:
          • coins
          • elitescroll
          • gear
          • ui
      • models
        • Esta pasta contém os ficheiros de modelo em si como ficheiros JSON.
        • Subpastas:
          • coins
          • elitescroll
          • gear
          • ui
      • textures
        • Esta pasta armazena todas as texturas, incluindo as usadas pelos modelos.
        • Subpastas:
          • coins
          • elitescroll
          • entity
          • gui
          • items (é aqui que ficam armazenadas as texturas específicas dos modelos)
          • ui
          • font
      • equipment (definições de modelos de equipamento)
      • font (definições de fontes e HUD)
      • rspm_bedrock_pack (recursos usados para construir o pacote Bedrock complementar via ResourcePackManager)
    • minecraft
      • atlases
      • font
      • models
        • item (contém ficheiros JSON que especificam quais os itens no Minecraft que devem usar modelos personalizados)
      • textures
      • sounds
        • custom (armazena ficheiros de som personalizados)

Veja como um ficheiro JSON na pasta assets/elitemobs/items/coins/ é estruturado e o que faz:

{
"model": {
"type": "minecraft:model",
"model": "elitemobs:coins/coin1"
}
}

Finalidade: Este ficheiro JSON diz ao Minecraft que isto é um modelo, especifica o tipo de modelo e indica a localização do ficheiro de modelo.

Campos Principais:

type: minecraft:model Isto especifica que o ficheiro representa um tipo de modelo. model: elitemobs:coins/coin1 Isto aponta para a localização do modelo dentro do resource pack.

Detalhes do Caminho:

elitemobs: instrui o Minecraft a procurar na pasta elitemobs dentro da pasta assets. coins/coin1 especifica a subpasta e o nome do ficheiro de modelo.

O caminho completo até ao ficheiro de modelo referenciado é: assets/elitemobs/models/coins/coin1.json


Uma boa maneira de testar se os seus modelos personalizados estão a funcionar corretamente é usar o seguinte comando:

/minecraft:give @p apple[item_model="elitemobs:coins/coin1"]

Como Funciona: Este comando dá-lhe uma maçã que usa o modelo elitemobs:coins/coin1. Se o resource pack estiver configurado corretamente, deverá ver o modelo personalizado da moeda aplicado ao item maçã.

Testar o Seu Próprio Modelo Personalizado: Se adicionou o seu próprio modelo personalizado ao resource pack, siga estes passos para o testar:

  1. Crie o JSON do Modelo: Coloque o seu ficheiro JSON na subpasta apropriada dentro da pasta items. Por exemplo: assets/elitemobs/items/mymodel/myawesomemodel.json

  2. Adicione o Ficheiro de Modelo: Adicione o ficheiro de modelo correspondente (myawesomemodel.json) à pasta models dentro da mesma subpasta. Por exemplo: assets/elitemobs/models/mymodel/myawesomemodel.json

  3. Adicione a Textura: Adicione o ficheiro de textura do modelo à pasta textures. Por exemplo: assets/elitemobs/textures/items/myawesomemodel.png


Depois de tudo estar configurado, use o comando abaixo para testar o seu modelo:

/minecraft:give @p apple[item_model="elitemobs:mymodel/myawesomemodel"]

Se tudo tiver sido feito corretamente, receberá uma maçã na mão, e esta apresentará o seu modelo personalizado em vez do modelo predefinido de maçã.

Dúvidas?​

Pergunte no Discord a qualquer momento!