Criar geradores
Geradores
Os geradores são a parte mais abrangente da configuração BetterStructures. Os 29 geradores predefinidos gerem, em conjunto, as construções distribuídas atualmente. Pode criar os seus ou reutilizar os existentes.
Os geradores determinam onde aparecem as estruturas e definem as tabelas de saque. Os nomes dos geradores predefinidos indicam a respetiva função.
Opções de configuração
| Chave | Predefinição | Obrigatória | Descrição |
|---|---|---|---|
isEnabled | true | ❌ | Ativa o gerador. Com false, os schematics associados também deixam de ser registados, permitindo desativar rapidamente um conjunto inteiro de estruturas. |
structureType | - | ✅ | Local de aparecimento das estruturas; consulte a tabela abaixo |
lowestYLevel | -59 | ❌ | Y mínimo de aparecimento |
highestYLevel | 320 | ❌ | Y máximo de aparecimento |
validWorlds | Todos permitidos | ❌ | Mundos onde as estruturas podem aparecer |
validWorldEnvironments | Todos permitidos | ❌ | NORMAL, NETHER, THE_END, CUSTOM |
validBiomesV2 | Varia conforme o gerador predefinido | ❌ | Biomas válidos no formato namespace:key; uma lista efetiva vazia permite todos os biomas |
treasureFilename | - | ❌ | Ficheiro de tesouro para os baús |
generateLootInBarrels | true | ❌ | Preenche com saque os barris encontrados nos schematics deste gerador |
barrelTreasureFilename | treasure_barrel_food.yml | ❌ | Ficheiro de tesouro usado nos barris deste gerador |
structureType
Define o tipo da construção. Um gerador pode usar vários tipos de estrutura!
| Tipo | Overworld / Personalizado | Nether | End | Descrição |
|---|---|---|---|---|
SURFACE | Superfície | Pontos semelhantes à superfície | Superfície | Aparece à superfície do mundo |
SKY | 80–120 blocos acima do bloco mais alto | Bolsa de ar entre Y 45 e Y 100 | 80–120 blocos acima do bloco mais alto | Aparece no céu; configurável em config.yml |
UNDERGROUND_SHALLOW | Y inicial 0-49 | Procura uma região sólida em Y 60-119 | Procura uma região sólida em Y 0-79 | Estruturas subterrâneas pouco profundas |
UNDERGROUND_DEEP | Y inicial -53 a -1 | Procura descendente de uma região sólida em Y 60-6 | Começa em Y 0 antes dos ajustes de desvio e limites | Estruturas subterrâneas profundas |
LIQUID_SURFACE | Líquido no bloco mais alto | Lava em Y 31 com ar por cima | Sem verificação inicial de líquido; a adequação do terreno continua a ser verificada | Aparece à superfície de líquidos |
DUNGEON | ✅ | ✅ | ✅ | Reservado ao sistema separado de geradores de módulos; este tipo, por si só, não transforma um schematic numa masmorra modular |
Os intervalos aéreos são desvios acima do bloco mais alto da coluna, não coordenadas Y absolutas. Os intervalos subterrâneos descrevem a seleção ou procura inicial, antes dos ajustes de desvio do schematic e dos limites da dimensão. A procura aérea no Nether percorre Y 45-99.
Exemplo com vários tipos de estrutura
structureType:
- SURFACE
- UNDERGROUND_SHALLOW
O mesmo gerador pode assim criar estruturas em vários locais, por exemplo à superfície e em zonas subterrâneas pouco profundas.
Existem duas opções subterrâneas devido à extensão do subsolo Minecraft. Usar ambas distribui melhor as estruturas entre profundidades e facilita a sua descoberta.
Intervalos de Y por dimensão
Intervalos predefinidos, configuráveis em config.yml:
| Dimensão | Intervalo predefinido | Opções |
|---|---|---|
| Overworld/Personalizado | Y=-60 a Y=320 | lowestYNormalCustom / highestYNormalCustom |
| Nether | Y=4 a Y=120 | lowestYNether / highestYNether |
| End | Y=0 a Y=320 | lowestYEnd / highestYEnd |
| Céu, Overworld/Personalizado | 80 a 120 blocos acima do bloco mais alto | normalCustomAirBuildingMinAltitude / normalCustomAirBuildingMaxAltitude |
| Céu, End | 80 a 120 blocos acima do bloco mais alto | endAirBuildMinAltitude / endAirBuildMaxAltitude |
lowestYLevel e highestYLevel do gerador filtram as posições candidatas da âncora. Não substituem os limites subterrâneos da dimensão nem redefinem os desvios aéreos.
As duas linhas aéreas indicam desvios somados ao bloco mais alto da coluna, não Y absoluto. No Overworld/Personalizado e no End, cada colocação sorteia o desvio entre o mínimo e o máximo.
O Nether ignora estes desvios. O BetterStructures procura, entre Y 45 e Y 100, uma bolsa de ar com pelo menos 20 blocos de altura e coloca a estrutura no seu interior. Sem uma bolsa adequada, nada aparece nesse chunk.
Biomas personalizados
O BetterStructures suporta automaticamente biomas personalizados de geradores como Terralith, Iris, Terra e TerraformGenerator.
Ao indicar um bioma vanilla em validBiomesV2, os biomas personalizados compatíveis são incluídos automaticamente:
validBiomesV2:
- minecraft:plains
- minecraft:forest
Isto permite estruturas nos biomas vanilla E nos biomas personalizados associados, sujeitas às restantes verificações de colocação. Por exemplo, terralith:brushland está associado a plains.
Uma lista validBiomesV2 vazia ou ausente mantém a seleção de biomas incorporada num gerador predefinido; não elimina as suas restrições. Um gerador personalizado novo sem biomas incorporados tem uma lista efetiva vazia e permite todos os biomas. Use uma lista explícita não vazia para substituir a seleção de uma predefinição. Os nomes da enumeração vanilla sem namespace são aceites, mas namespace:key é mais claro; as entradas com namespace são convertidas para minúsculas sem verificar se o bioma existe.
Onde estão definidas as correspondências
A tabela que associa biomas personalizados a biomas vanilla não está no BetterStructures. Está definida no código do MagmaCore, a biblioteca incorporada, e é partilhada com os outros plugins do MagmaGuy que dela precisam.
Há duas consequências práticas:
- As listas extensas em
generator_surface_*.ymlsão resultados gerados, não a definição original. Ao carregar, o BetterStructures lêvalidBiomesV2, procura cada entradaminecraft:na tabela MagmaCore, acrescenta os biomas personalizados correspondentes e volta a escrever a lista expandida no ficheiro do gerador. Duas linhas podem tornar-se uma centena. Editar a lista afeta apenas esse gerador; entradasminecraft:conservadas voltam a ser expandidas no próximo carregamento. - Adicionar suporte global a um novo bioma exige alterar o MagmaCore, não uma configuração. Acrescentar um bioma desconhecido a
validBiomesV2resolve apenas esse gerador. Para uma correspondência comum, é necessário adicioná-lo à tabela MagmaCore através de uma alteração de código; abra um pedido em vez de tentar resolver o suporte global nos YAML.
Pode indicar diretamente um bioma personalizado em validBiomesV2. Namespaces diferentes de minecraft: são mantidos sem expansão adicional, o que é adequado para um gerador destinado apenas a um bioma personalizado específico.
Biomas associados a nothing pelo MagmaCore são excluídos deliberadamente por serem considerados inadequados para estruturas. Nenhum bioma vanilla os inclui.
treasureFilename
Define o ficheiro de tesouro dos baús. Aplica-se a todas as construções do gerador, exceto se a configuração do schematic o substituir.
O gerador continua a precisar de uma configuração de tesouro válida para preencher os baús. Uma substituição no schematic não compensa um ficheiro de tesouro ausente ou inválido no gerador. Substituições inválidas produzem um aviso e usam a tabela do gerador.
generateLootInBarrels e barrelTreasureFilename
O BetterStructures também trata os barris como contentores de saque.
generateLootInBarrels, predefinido comotrue, controla o preenchimento dos barris nas estruturas deste gerador. Usefalsepara não os alterar.barrelTreasureFilename, predefinido comotreasure_barrel_food.yml, escolhe a tabela sorteada para os barris. A predefinição usa uma tabela simples de alimentos, mas pode indicar qualquer ficheiro de tesouro.
barrelTreasureFilename do schematic pode substituir a tabela. O gerador precisa de generateLootInBarrels: true e de uma configuração válida de tesouro para barris; uma substituição no schematic não contorna nenhum destes requisitos. Substituições inválidas produzem um aviso e usam a tabela do gerador.