Saltar para o conteúdo principal

Modificar minimasmorras existentes

Por pedido popular, esta página aborda os fundamentos de modificar Minimasmorras existentes. Não é um guia passo a passo, mas um olhar mais alargado sobre como os sistemas precisam de ser modificados. Terá de ler as páginas da wiki sobre Bosses Personalizados e Itens Personalizados para modificar esses valores.

Pré-requisitos​

Antes de modificar minimasmorras, deve:

  • Ter uma compreensão básica da sintaxe YAML e da formatação de ficheiros
  • Fazer sempre uma cópia de segurança dos ficheiros da sua masmorra antes de fazer modificações
  • Saber que precisa de reiniciar o servidor ou usar /em reload depois de fazer alterações

Estrutura de Ficheiros da Masmorra​

As minimasmorras são compostas por vários tipos de ficheiros espalhados por diferentes pastas:

  • content_packages/[package_file].yml - Configuração principal do pacote da masmorra (o ficheiro do pacote fica diretamente em content_packages, opcionalmente dentro de uma subpasta para organização)
  • custombosses/[dungeon_name]/ - Ficheiros de configuração dos bosses
  • customitems/[dungeon_name]/ - Definições de itens personalizados
  • customtreasurechests/[dungeon_name]/ - Configurações dos baús de tesouro
  • npcs/[dungeon_name]/ - Definições de NPCs
  • O próprio mundo do Minecraft - a pasta do mundo ao vivo para masmorras abertas/de mundo, ou uma cópia colocada em world_blueprints/[dungeonConfigFolderName]/ para masmorras instanciadas

Ao modificar uma masmorra, poderá precisar de editar ficheiros em várias pastas, dependendo do que quer alterar.

Compreender os Componentes da Minimasmorra​

As minimasmorras consistem em vários componentes interligados:

  • Configuração do pacote da masmorra - O ficheiro de configuração principal que controla as definições ao nível da masmorra, como dificuldade, tamanho do grupo, teletransporte e proteção
  • Bosses personalizados - Configurações individuais de bosses guardadas na pasta custombosses/
  • Itens personalizados - Definições de saque e equipamento na pasta customitems/
  • Baús de tesouro - Fontes de saque adicionais configuradas na pasta customtreasurechests/
  • NPCs - Personagens não jogáveis para missões ou ambientação
  • Ficheiros de mundo - O terreno e as estruturas da masmorra. As masmorras de esquemáticos foram removidas no EliteMobs 9.0; todas usam mundos

Modificar as Definições do Pacote da Masmorra​

Localizar os Ficheiros de Configuração da Masmorra​

As minimasmorras são configuradas através de ficheiros de pacote localizados na pasta content_packages/. Cada masmorra tem um ficheiro de configuração principal (geralmente com o nome da masmorra) que controla as definições ao nível da masmorra.

Modificar as Definições Básicas da Masmorra​

Exemplo de valores do pacote da masmorra que poderá querer modificar:

contentLevel: 20
dungeonSizeCategory: DUNGEON
minPlayerCount: 1
maxPlayerCount: 5
dungeonLockoutMinutes: 60
protect: true
  • contentLevel: Nível apresentado e base da sincronização relativa em masmorras instanciadas. As masmorras dinâmicas ignoram-no e usam o nível que os jogadores selecionam; as masmorras dinâmicas predefinidas definem-no como -1. Alterá-lo não muda os níveis fixos nos ficheiros dos bosses
  • dungeonSizeCategory: Classificação de tamanho (LAIR, SANCTUM, MINIDUNGEON, DUNGEON, RAID, ADVENTURE, ARENA, REALM, OTHER)
  • minPlayerCount/maxPlayerCount: Limites do tamanho do grupo, por predefinição 1 e 5
  • dungeonLockoutMinutes: Bloqueio de saque em minutos, aplicado quando um boss instanciado morre aos seus atacantes e aos membros elegíveis do grupo que partilham o crédito da morte. A primeira morte elegível inicia o bloqueio; as seguintes durante esse período não dão a esse jogador saque do boss nem XP de habilidade. Por predefinição 4320 (72 horas); 0 desativa-o. Não impede a reentrada.
  • protect: Ativa a proteção de mundo do EliteMobs, sem precisar de um plugin de regiões

Para construções instanciadas, edite o modelo em world_blueprints/<dungeonConfigFolderName>/<worldName>/, não um mundo temporário com sufixo numérico. Faça uma cópia das alterações antes de importar atualizações, que podem substituir o conteúdo do pacote.

Modificar as Definições de Dificuldade da Masmorra​

Para masmorras instanciadas, pode configurar vários níveis de dificuldade:

difficulties:
- name: normal
id: 0
levelSync: 60
- name: hard
id: 1
levelSync: 50
- name: mythic
id: 2
levelSync: 40

Os jogadores podem escolher a dificuldade à entrada. levelSync limita o nível usado pelo processamento de itens do jogador em cache; não altera os itens equipados. Os cálculos atuais de corpo a corpo, armadura e projéteis continuam a ler os níveis originais, e a contribuição dos encantamentos do equipamento não é limitada. Um valor mais baixo não garante, por isso, uma luta mais difícil ou equilibrada entre equipamentos. Ajuste também os poderes específicos de dificuldade, as estatísticas e as recompensas. Veja Dificuldade de Masmorra Instanciada.

Modificar a Proteção e as Mecânicas da Masmorra​

Definições de Proteção​

Controlam como o ambiente da masmorra se comporta:

protect: true
allowExplosionBlockDamage: false
allowLiquidFlow: true
  • protect: Ativa as proteções de mundo do EliteMobs no mundo da masmorra
  • allowExplosionBlockDamage: Permite dano de explosões a blocos num mundo protegido. Por predefinição false. Só as explosões de elites acompanhadas pelo plugin usam a regeneração do EliteMobs; o dano vanilla pode ser permanente
  • allowLiquidFlow: Permite que a água e a lava fluam, por predefinição true
  • allowElytra: Permite planar com élitros no mundo da masmorra, por predefinição false

Modificar a Entrada e o Teletransporte da Masmorra​

Configuração de Teletransporte​

Controla onde os jogadores surgem:

teleportLocation: world_name,100,64,100,0,0

O formato é: world,x,y,z,yaw,pitch

Requisitos de Permissão​

Restringe o acesso à masmorra:

permission: elitemobs.dungeon.mydungeon

Os jogadores precisam deste nó para entrar em masmorras instanciadas. Não é uma restrição geral de acesso a pacotes de mundo aberto.

Modificar a Dificuldade dos Bosses​

Existem várias formas de modificar a dificuldade dos bosses da masmorra:

Modificar os multiplicadores de dano/vida dos bosses​

Esta é a modificação mais fácil de fazer. Se achar que os bosses causam pouco ou demasiado dano, ou que têm pouca ou demasiada vida, pode modificar os valores associados a estes modificadores nos ficheiros dos bosses contidos na pasta custombosses.

Exemplo de valores que iria querer modificar:

healthMultiplier: 0.5
damageMultiplier: 0.5

Mais sobre estatísticas de bosses aqui.

Tenha em conta que muitos poderes têm valores de dano fixos ou dano baseado em percentagem que ignora a definição damageMultiplier. Para modificar o dano dos poderes, poderá precisar de editar os próprios ficheiros de configuração dos poderes ou escolher poderes diferentes.

Modificar os poderes dos bosses​

A principal dificuldade do EliteMobs é lidar com os vários poderes que os bosses podem ter. Os bosses de nível mais alto tendem a ter mais poderes e mais difíceis, e os bosses de nível mais baixo tendem a ter menos poderes e mais fáceis. Certos poderes usados em conjunto no mesmo boss tornam as lutas mais fáceis, e outros poderes combinados podem tornar a luta significativamente mais difícil.

Exemplo de valores que iria querer modificar:

powers:
- invulnerability_fire.lua
- invulnerability_arrow.lua

Mais sobre poderes de bosses aqui.

Os poderes predefinidos são agora distribuídos em Lua. As referências .yml das masmorras antigas continuam a funcionar: primeiro procura-se o poder .lua com o mesmo nome e depois uma correspondência literal. Não é preciso reescrever os bosses existentes, mas use .lua para conteúdo novo.

O EliteMobs inclui 71 poderes (68 Lua, 3 ainda YAML). A lista completa está no Guia de criação de conteúdo. Exemplos:

Poderes Defensivos:

  • invulnerability_arrow.lua
  • invulnerability_fall_damage.lua
  • invulnerability_fire.lua
  • invulnerability_fireworks.lua
  • invulnerability_knockback.lua
  • channel_healing.lua
  • shield_wall.lua

Poderes Ofensivos:

  • arrow_fireworks.lua
  • arrow_rain.lua
  • attack_fireball.lua
  • attack_lightning.lua
  • bullet_hell.lua
  • meteor_shower.lua
  • firestorm.lua
  • flamethrower.lua

Poderes de Invocação:

  • zombie_friends.lua
  • zombie_parents.lua
  • summon_embers.lua

Como existem demasiadas combinações de poderes para listar aqui, terá de aprender como os poderes funcionam e testar em jogo os seus encontros para encontrar o ponto ideal daquilo que considera ser um encontro que não é nem demasiado difícil nem demasiado fácil.

Modificar o nível dos bosses​

Esta é a pergunta mais frequente, e embora seja possível fazê-lo, requer alguns passos para garantir que está a escalar os seus bosses para cima ou para baixo de forma adequada.

Exemplo de valores que iria querer modificar:

level: 21

Mais sobre níveis de bosses aqui.

Isto exige uma combinação do que foi dito sobre os multiplicadores de dano / vida, pois os bosses em níveis mais baixos / mais altos podem precisar de multiplicadores de vida e dano ligeiramente diferentes para que a luta se sinta bem.

No entanto, o aspeto mais importante a considerar aqui são os poderes do boss. Os bosses de nível mais baixo e mais alto tendem a ter conjuntos de poderes bastante diferentes, dependendo da dificuldade pretendida da luta. Ter o mesmo conjunto de poderes para um boss de nível 10 e um boss de nível 200 resulta normalmente em lutas cuja dificuldade se sente drasticamente diferente. Mais uma vez, a única forma de encontrar realmente o ponto ideal é aprender como funcionam os poderes do plugin e testá-los em jogo.

Modificar o Comportamento dos Bosses​

Para além dos poderes, os bosses têm flags comportamentais que afetam a forma como agem:

frozen: false
neutral: false
  • frozen: Define a velocidade de movimento como zero e elimina a velocidade ao receber dano, incluindo no tick seguinte. Não desativa a IA, os poderes ou os teletransportes por script.
  • neutral: Omite a agressividade forçada do EliteMobs para mobs normalmente neutros e a criação da entidade com comportamento personalizado. O comportamento nativo mantém-se; um mob naturalmente hostil não passa a ser passivo.

Modificar o Equipamento dos Bosses​

Altere a armadura e as armas que os bosses usam:

helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS:1A8F3C
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE:1001
offHand: SHIELD

Estes campos recebem um nome de material do Minecraft, e não um nome de ficheiro de item personalizado. São aceites três formas extra:

  • MATERIAL:number define custom model data em equipamento que não seja de couro, como GOLDEN_AXE:1001, para um pacote de recursos
  • LEATHER_*:RRGGBB tinge armadura de couro com uma cor hexadecimal, como em LEATHER_LEGGINGS:1A8F3C
  • Um UUID de jogador em minúsculas no formato padrão aceite produz um PLAYER_HEAD com a skin desse jogador

Use nomes de materiais em maiúsculas. Os prefixos antigos GOLD_ e CHAIN_ passam automaticamente a GOLDEN_ e CHAINMAIL_. O equipamento é aplicado diretamente ao mob; estes campos não carregam definições nem estatísticas de customitems/.

Modificar o Saque dos Bosses​

Também pode ajustar o saque personalizado. A maioria dos bosses do EliteMobs tem saque próprio; ao alterar o nível, reveja também os itens que largam.

Exemplo de opções de configuração de saque:

uniqueLootList:
- filename: mob_drop_boots.yml
chance: 0.05
amount: 1
  • filename: O ficheiro de configuração do item
  • chance: Probabilidade de drop (0.0 a 1.0, onde 1.0 = 100%)
  • amount: Quantidade a largar (opcional, por padrão 1)

Mais sobre drops de saque aqui.

Modificações dos Baús de Tesouro​

Ao mudar o nível de um boss, reveja o saque de classe automático e os filtros de dificuldade do saque definido. O nível dos itens e a qualidade das recompensas são controlos separados.

As minimasmorras podem incluir baús de tesouro com tabelas de saque personalizadas. As configurações dos baús são guardadas na pasta customtreasurechests/, um ficheiro por baú, e cada ficheiro de baú carrega a sua própria posição na chave location (ou locations, para um baú que apareça em vários sítios). Edita esses ficheiros para mover um baú ou alterar a sua lootList — o ficheiro do pacote da masmorra não guarda posições de baús.

Creditar / publicar conteúdo modificado​

No âmbito do EliteMobs, é livre de publicar as masmorras que cria nos canais apropriados para o efeito (Discord). No entanto, se a sua criação for apenas uma modificação de uma masmorra existente, a sua submissão poderá ser removida, especialmente se for apenas um pequeno ajuste ou se contiver ou derivar de conteúdo premium (por razões óbvias).

É livre e bem-vindo a modificar qualquer conteúdo que tenha comprado ou de outra forma transferido para o ajustar às necessidades do seu servidor, para uso dentro da sua própria rede; no entanto, por razões óbvias, isto não lhe confere direitos de redistribuição.

Reservamo-nos o direito de remover submissões da comunidade por qualquer motivo e a qualquer momento, embora detestássemos ter de o fazer.

Mais informação​

Se achar que esta página deveria ser mais desenvolvida, deixe uma sugestão no Discord a dizer o que deveria ser adicionado. Mais informação sobre os vários sistemas aqui mencionados está presente nas outras páginas da wiki.