Pular para o conteúdo principal

Criar Geradores

Geradores

Os geradores são a parte mais poderosa do sistema de configuração do BetterStructures. Por padrão, existem 29 geradores que gerenciam coletivamente as construções atualmente distribuídas pelo BetterStructures e, embora você possa criar seus próprios geradores, também pode usar os existentes como atalho.

Os geradores dizem ao plugin exatamente onde as coisas devem aparecer e definem as tabelas de saque. Os geradores padrão também são nomeados de maneiras que devem tornar muito fácil adivinhar o que fazem.

Opções de configuração do gerador

ChavePadrãoObrigatórioDescrição
isEnabledtrueSe o gerador está habilitado. Defini-lo como false também impede que todo schematic que aponta para este gerador seja registrado, portanto é a forma mais rápida de desligar um conjunto inteiro de estruturas.
structureType-Onde as estruturas aparecem (ver tabela abaixo)
lowestYLevel-59Nível Y mínimo para aparição
highestYLevel320Nível Y máximo para aparição
validWorldsTodos permitidosLista de mundos onde estruturas podem aparecer
validWorldEnvironmentsTodos permitidosNORMAL, NETHER, THE_END, CUSTOM
validBiomesV2Todos os biomasLista de biomas válidos (formato namespace:key)
treasureFilename-Arquivo de tesouro para saque de baús
generateLootInBarrelstrueSe os barris encontrados nos schematics deste gerador devem ser preenchidos com saque
barrelTreasureFilenametreasure_barrel_food.ymlArquivo de tesouro usado para preencher barris para este gerador

structureType

Define que tipo de estrutura é a construção. Você pode especificar múltiplos tipos de estrutura para um único gerador!

TipoOverworld / PersonalizadoNetherEndDescrição
SURFACESuperfíciePontos similares à superfícieSuperfícieAparece na superfície do mundo
SKY80-120 blocos acima do bloco mais altoBolsa de ar encontrada entre Y 45 e Y 10080-120 blocos acima do bloco mais altoAparece no céu (configurável em config.yml)
UNDERGROUND_SHALLOWY 0-50Y 60-120Y 0-80Estruturas subterrâneas rasas
UNDERGROUND_DEEPY -53 a 0Y 5-60Y 0-80Estruturas subterrâneas profundas
LIQUID_SURFACEÁgua (oceanos)Oceano de lava em Y 31Nenhuma verificação de líquido é aplicadaAparece em superfícies líquidas
DUNGEONUsado para colocação de masmorras modulares

As faixas de céu são deslocamentos aplicados acima do bloco mais alto do mundo naquela coluna, não níveis Y absolutos.

Exemplo de múltiplos tipos de estrutura
structureType:
- SURFACE
- UNDERGROUND_SHALLOW

Isso permite que o mesmo gerador gere estruturas em múltiplas localizações, como tanto na superfície quanto em áreas subterrâneas rasas.

Nota: Existem duas configurações subterrâneas porque o Minecraft tem muito espaço subterrâneo. Ter ambas garante distribuição uniforme entre as profundidades e evita que os jogadores percam estruturas.


Faixas de nível Y por dimensão

Faixas de altitude padrão por dimensão (configuráveis em config.yml):

DimensãoFaixa padrãoConfigurações
Overworld/PersonalizadoY=-60 a Y=320lowestYNormalCustom / highestYNormalCustom
NetherY=4 a Y=120lowestYNether / highestYNether
EndY=0 a Y=320lowestYEnd / highestYEnd
Céu (Overworld/Personalizado)80 a 120 blocos acima do bloco mais altonormalCustomAirBuildingMinAltitude / normalCustomAirBuildingMaxAltitude
Céu (End)80 a 120 blocos acima do bloco mais altoendAirBuildMinAltitude / endAirBuildMaxAltitude

Esses padrões podem ser substituídos por gerador usando lowestYLevel e highestYLevel.

As duas linhas de céu são deslocamentos somados ao bloco mais alto da coluna, não níveis Y absolutos. Tanto os deslocamentos de céu do Overworld/Personalizado como os do End são sorteados aleatoriamente entre o seu mínimo e o seu máximo em cada colocação.

O Nether ignora esses deslocamentos por completo: em vez de construir acima do bloco mais alto, o BetterStructures varre a coluna entre o Y 45 e o Y 100 à procura de uma bolsa de ar com pelo menos 20 blocos de altura e coloca a estrutura dentro dela. Se não existir essa bolsa, nada aparece naquele chunk.


Suporte a biomas personalizados

O BetterStructures suporta automaticamente biomas personalizados de geradores de mundo como Terralith, Iris, Terra e TerraformGenerator.

Quando você especifica um bioma vanilla em validBiomesV2, o plugin inclui automaticamente biomas personalizados compatíveis:

validBiomesV2:
- minecraft:plains
- minecraft:forest

Isso gera estruturas nos biomas vanilla E em todos os biomas personalizados mapeados para esses tipos (ex.: terralith:blooming_plains).

Onde os mapeamentos realmente ficam

A tabela de mapeamento de bioma personalizado para bioma vanilla não fica armazenada no BetterStructures. É uma única tabela codificada dentro do MagmaCore, a biblioteca compartilhada integrada ao BetterStructures, e é compartilhada com os outros plugins do MagmaGuy que precisam dela.

Isso tem duas consequências práticas:

  1. As longas listas de biomas que você vê nos arquivos generator_surface_*.yml distribuídos são saída gerada, não a fonte da verdade. No carregamento, o BetterStructures lê validBiomesV2, procura cada entrada minecraft: na tabela do MagmaCore, acrescenta todos os biomas personalizados mapeados para ela e então escreve a lista expandida de volta diretamente no arquivo do gerador. Assim, um gerador que você escreveu com duas linhas pode voltar com uma centena. Editar essa lista expandida afeta apenas aquele gerador, e qualquer entrada minecraft: que você deixar no lugar será reexpandida no próximo carregamento.
  2. Adicionar suporte a um novo bioma personalizado para todos é uma mudança no MagmaCore, não uma mudança de configuração. Se um gerador de mundo trouxer um bioma que o BetterStructures não reconhece, adicioná-lo ao validBiomesV2 de um gerador é uma solução local para aquele gerador. Fazer com que ele seja mapeado corretamente significa adicioná-lo à tabela de mapeamento do MagmaCore, o que é uma mudança de código — abra um pedido em vez de tentar resolver isso nos arquivos yml.

Você ainda pode nomear um bioma personalizado diretamente em validBiomesV2 (qualquer coisa que já contenha : é usada como está e não é expandida ainda mais), o que é a escolha certa para um gerador pontual que só deve aparecer em um bioma personalizado específico.

Biomas que o MagmaCore mapeia para nothing são deliberadamente excluídos — são biomas personalizados considerados inadequados para estruturas, e nenhum bioma vanilla os trará.


treasureFilename

Define o arquivo de tesouro para saque de baús. Isso se aplica a todas as construções que usam este gerador, a menos que seja substituído na configuração do schematic.


generateLootInBarrels e barrelTreasureFilename

O BetterStructures agora trata os barris como um segundo recipiente de saque, ao lado dos baús.

  • generateLootInBarrels (padrão true) alterna se os barris dentro das estruturas colocadas por este gerador são preenchidos. Defina como false para deixar os barris intocados.
  • barrelTreasureFilename (padrão treasure_barrel_food.yml) seleciona qual arquivo de tesouro é sorteado ao preencher esses barris. O padrão traz uma tabela de saque leve focada em comida, mas você pode apontá-lo para qualquer arquivo de tesouro.

Ambas as opções podem ser substituídas por schematic com o campo barrelTreasureFilename correspondente na configuração do schematic.