Criar conteúdo
Criar a construção
Comece com estruturas abaixo de 100x100x100 blocos para facilitar o encaixe no terreno e controlar o consumo de recursos. É uma recomendação, não um limite rígido. Estruturas maiores exigem mais memória e trabalho de colocação, além de uma posição adequada dentro dos limites de altura do mundo.
Blocos especiais
O BetterStructures trata dois blocos de forma especial: barreiras e bedrock. Os restantes blocos suportados pelo WorldEdit são colocados normalmente.
| Bloco | Comportamento | Utilização |
|---|---|---|
| Barreira | Não coloca nenhum bloco nessa posição, preservando o terreno original | Arredondar limites, adaptar paredes a cavernas e integrar a construção no terreno |
| Bedrock | Preserva um bloco sólido existente; caso contrário, coloca o material do pedestal | Criar chão para carris sem substituir terreno sólido existente |
Placas de aparecimento
Placas com texto específico podem criar mobs vanilla e bosses EliteMobs ou MythicMobs em posições determinadas, ou entregar um marcador a outro plugin.
As placas são colocadas primeiro e removidas imediatamente antes da respetiva tentativa de aparecimento, depois de terminar a colocação dos blocos. Podem ficar visíveis durante a colocação, e a remoção não prova que a entidade tenha sido criada. Uma etiqueta desconhecida, um tipo de entidade vanilla inválido ou um ID MythicMobs em falta deixa uma placa normal. Se faltar EliteMobs ou MythicMobs, um schematic que use a respetiva etiqueta é excluído por completo do registo de estruturas.
Depois de colocar os blocos, o BetterStructures conclui a estrutura por esta ordem: o pedestal, a limpeza de árvores remanescentes acima das estruturas de superfície, os contentores de saque, os mobs [spawn], os bosses [elitemobs], os mobs [mythicmobs], as entidades guardadas no schematic e, por fim, os marcadores [custom]. Se um mob ou boss não aparecer, os passos restantes são ignorados, o BuildPasteCompleteEvent não é emitido e não é enviada nenhuma mensagem de nova construção.
| Tipo | Linha 1 | Linhas 2–4 | Plugin necessário |
|---|---|---|---|
| Mobs vanilla | [spawn] | Tipo de entidade na linha 2 | Nenhum |
| EliteMobs | [elitemobs] | Nome do ficheiro do boss, repartido pelas linhas 2–4 | EliteMobs |
| MythicMobs | [mythicmobs] | Nome do mob na linha 2 e nível opcional na linha 3 | MythicMobs |
| Outros plugins | [custom] | ID do marcador, repartido pelas linhas 2–4 | Um plugin que escute BuildCustomMarkerEvent |
As placas de chão, parede e suspensas são reconhecidas pelos nomes de material Bukkit terminados em _SIGN, sem uma lista fixa de madeiras. Escreva a etiqueta na frente, pois a leitura moderna usa front_text, não o verso. As linhas escritas no jogo, o texto JSON e os componentes de texto escritos por plugins são todos lidos como texto simples. As etiquetas não distinguem maiúsculas de minúsculas. Os ID de entidades e nomes de ficheiros devem ser exatos e não conter espaços adicionais.
O nível MythicMobs é opcional. A linha 3 vazia usa nível 1. Níveis numéricos inferiores a 1 passam a 1. Um nível que não seja um número, ou um ID de mob que o MythicMobs não conheça, faz falhar o aparecimento, o que ignora os passos de conclusão restantes da estrutura.
Exemplos de placas de aparecimento
Mobs vanilla
[spawn]
ZOMBIE
Cria um zombie persistente, centrado horizontalmente no bloco da placa. Use um Spigot EntityType que possa ser criado, como um suporte de armadura ou cristal do End. A enumeração também contém tipos que o mundo não pode criar diretamente. Aceitar o nome não garante sucesso. Se o mundo recusar o aparecimento, os passos de conclusão restantes da estrutura são ignorados.
EliteMobs
[elitemobs]
test_boss_with
_a_long_name
.yml
Nomes longos podem ocupar as linhas 2 a 4, unidas sem separadores. A arena fica protegida contra partir e colocar blocos quando protectEliteMobsRegions está ativo e EliteMobs e WorldGuard estão instalados. Cada boss regional criado recebe uma região. A sua morte só remove essa região se o boss tiver removeAfterDeath: true, pelo que um boss que reaparece pode deixar a proteção ativa. Um aparecimento EliteMobs falhado, por exemplo com um nome de ficheiro que não corresponde a nenhum boss, ignora os passos de conclusão restantes da estrutura.
MythicMobs
[mythicmobs]
SkeletalKnight
10
Cria SkeletalKnight no nível 10.
Marcadores personalizados
[custom]
Zombie_Plus
O BetterStructures não faz nada com o ID em si. Depois de colocar os blocos, o saque, os mobs e as entidades da estrutura, remove a placa e emite o BuildCustomMarkerEvent com o ID e a localização da placa, para que outro plugin possa gerar o seu próprio mob, colocar um bloco ou executar qualquer outra lógica nesse ponto. As linhas 2 a 4 são unidas sem separadores, tal como os nomes de ficheiros do EliteMobs, e cada linha também está disponível individualmente. Sem um plugin a escutar, o marcador simplesmente desaparece. Uma placa [custom] com as linhas 2 a 4 vazias fica como placa normal e regista um aviso. Os marcadores personalizados funcionam em estruturas normais, não em masmorras modulares.
Schematics
Schematics são ficheiros WorldEdit ou FastAsyncWorldEdit com os blocos da construção. O BetterStructures usa o formato moderno .schem. Guarde nesse formato, e não no antigo .schematic.
Consulte o guia da área de transferência do WorldEdit para copiar e guardar. Os passos básicos são:
- Escolher um canto e executar
//pos1. - Escolher o canto diagonalmente oposto e executar
//pos2. - Executar
//copy. - Executar
//schem save <schematicname>com o nome pretendido. - Copiar o
.schemresultante da pasta de schematics do editor paraplugins/BetterStructures/schematicse recarregar o BetterStructures. A pasta predefinida do WorldEdit éplugins/WorldEdit/schematics.
Execute //pos1 no ponto 1 e //pos2 no ponto 2!
Ponto de ancoragem
A âncora corresponde à posição onde executa //copy. Determina a origem da estrutura ao colocá-la no mundo.
| Tipo de construção | Âncora recomendada | Motivo |
|---|---|---|
| Superfície | Ponto mais baixo do chão | Alinhamento com o terreno |
| Subterrânea | Topo da construção | Cálculo correto da profundidade |
| Líquido | Superfície da água | Colocação correta na água |
| Aérea | Topo da construção | Posicionamento correto em altitude |
Escolha deliberadamente a posição de cópia. O seu desvio é guardado no schematic e afeta a colocação e a rotação. Fique perto da construção para facilitar a inspeção dessa relação. A distância, por si só, não aumenta o número de blocos da seleção guardada.
Configurações dos schematics
Cada schematic tem uma configuração. Ao acrescentar um ficheiro novo, esta é gerada no próximo reinício ou após /betterstructures reload.
O .yml é gerado na mesma pasta do .schem. A pesquisa em plugins/BetterStructures/schematics é recursiva, pelo que pacotes em subpastas recebem configurações nessas mesmas subpastas. Use nomes únicos em toda a árvore. Para estruturas com nomes duplicados, o BetterStructures carrega o primeiro ficheiro numa ordenação estável dos caminhos absolutos e regista os caminhos escolhido e ignorado. Os duplicados idênticos byte a byte carregam a mesma estrutura de qualquer forma e são ignorados sem aviso. Não elimina nenhum, nem usa o duplicado ignorado se o escolhido estiver danificado. Duplicados de módulos continuam a impedir a inicialização.
Um .yml sem .schem correspondente não cria uma estrutura. O carregador parte dos ficheiros de schematic encontrados. Se algum schematic selecionado não puder ser lido, a inicialização falha em vez de aceitar um registo parcial, mesmo que a sua configuração o desativasse.
Opções da colocação:
| Chave | Predefinição | Obrigatória | Descrição |
|---|---|---|---|
isEnabled | true | ❌ | Ativa o schematic. Com false, não é colocado em nenhum local. |
weight | 1.0 | ❌ | Peso relativo entre schematics elegíveis. Use valores finitos e positivos. 2.0 tem o dobro do peso de 1.0. Um valor negativo ou não finito regista um aviso e passa a 0, e uma estrutura com peso 0 nunca é escolhida. Use isEnabled: false para desativar uma estrutura. |
pedestalMaterial | Alternativa do ambiente | ❌ | Material alternativo dos pedestais, usando nomes Spigot Material. Os materiais recolhidos do terreno têm prioridade quando disponíveis. |
generatorConfigFilename | - | ✅ | Nome da configuração do gerador, incluindo .yml. Sem um valor válido, o schematic não aparece. |
treasureFile | Predefinição do gerador | ❌ | Substitui a tabela dos baús desta estrutura. Geralmente é preferível alterar o gerador. |
barrelTreasureFilename | Predefinição do gerador | ❌ | Substitui a tabela dos barris. Usa por predefinição a tabela do gerador ou a alternativa treasure_barrel_food.yml. |
Contentores de saque: baús, baús armadilhados e caixas de shulker simples, sem cor, são detetados e preenchidos pela tabela dos baús. Os barris usam a tabela própria, predefinida como treasure_barrel_food.yml, e podem ser desativados no gerador com generateLootInBarrels: false. Não precisam de placas nem marcadores especiais.
Uma substituição de tesouro no schematic continua a exigir uma tabela válida no gerador para esse tipo de contentor. Os barris também exigem o respetivo saque ativo no gerador. Substituições inválidas geram um aviso e usam o gerador. O conteúdo existente é preservado e o novo saque ocupa espaços vazios.
As configurações novas começam com generatorConfigFilename vazio. Escolha um ficheiro carregado, como generator_surface_global.yml, e execute /bs reload. Enquanto o campo não for válido, a estrutura não aparece naturalmente nem nas sugestões de /bs place. A consola indica a configuração afetada e exemplos de geradores disponíveis.
Geradores desativados: com isEnabled: false no gerador indicado, o schematic é totalmente ignorado, mesmo que o seu próprio isEnabled esteja a true.
Detalhes da configuração
pedestalMaterial
Os pedestais preenchem até dez blocos abaixo de cada coluna cujo bloco inferior não seja ar, nas construções de superfície e subterrâneas. Param num bloco que não seja considerado terreno substituível. Estruturas aéreas e líquidas não recebem este preenchimento descendente. A mesma seleção de material é usada nos marcadores de bedrock dentro dos schematics.
O plugin recolhe amostras de materiais superficiais e subterrâneos em torno do volume de colocação e escolhe aleatoriamente do grupo adequado, com pesos baseados na frequência. Não escolhe sempre o material mais comum. Um pedestalMaterial configurado só é usado se o grupo correspondente estiver vazio; não substitui um grupo com amostras. Escolha um material de bloco sólido. Sem alternativa configurada, usa netherrack no Nether, pedra do End no End e pedra noutros ambientes. As estruturas aéreas ignoram as amostras e a alternativa configurada, pelo que os seus marcadores de bedrock usam o valor predefinido do ambiente.
generatorConfigFilename
Exemplo: generatorConfigFilename: generator_surface_global.yml
O ficheiro encontra-se na pasta de configurações de geradores.
treasureFile
Consulte a documentação de tesouros e a documentação de geradores.
Personalizar conteúdo
Todo o conteúdo distribuído no BetterStructures é editável. Pode alterar os schematics e as configurações dos geradores ao seu gosto.
O guia de criação acima também serve para editar conteúdo existente.
Resolução de problemas
Se uma estrutura não aparecer, confirme:
- o ficheiro usa .schem
- está definido um gerador válido
- isEnabled está a true no schematic e no gerador
- se o schematic estiver dentro da pasta de um pacote de conteúdo, esse pacote está instalado (
isEnabled: trueno respetivo ficheiro emcontent_packages). A pasta inteira de um pacote desativado é ignorada - a versão WorldEdit/FastAsyncWorldEdit é compatível
- o
.ymlestá junto do.schem, e não numa árvore incorretaplugins/BetterStructures/plugins/BetterStructures/.... Versões antigas escreviam ali por engano. Compare e preserve as definições úteis antes de remover essa cópia e, depois de recarregar, confirme a configuração adjacente e o seu gerador
Se a consola indicar nomes de estruturas duplicados, consulte os caminhos escolhido e ignorado e atribua nomes únicos às estruturas pretendidas e às respetivas configurações. Duplicados em modules continuam a impedir a inicialização e devem ser resolvidos antes de reiniciar.
Pasta .schematic_cache
O BetterStructures guarda cópias convertidas dos schematics de estruturas em plugins/BetterStructures/.schematic_cache, com subpastas modules e components para esses carregadores. Os .schem antigos podem precisar de conversão de dados Minecraft, pelo que o resultado é guardado e reutilizado. Ao recarregar conteúdo, as cópias de estruturas e módulos inalterados na área de transferência também podem ser reutilizadas a partir da memória.
Não precisa de gerir a pasta:
- as entradas de disco dependem do conteúdo do schematic, da versão de dados Minecraft e da versão WorldEdit; alterar qualquer destes valores reconstrói as entradas afetadas
- os carregadores removem entradas de disco obsoletas quando leem ficheiros ou detetam remoções, desde que consigam calcular pelo menos uma chave atual da cache; retirar todo o conteúdo não esvazia automaticamente toda a cache
- a cache é apenas uma otimização; entradas ausentes, ilegíveis ou inválidas fazem carregar o
.schemoriginal
Pode eliminá-la com segurança. O próximo arranque será mais demorado por a reconstruir.
"Skipped N unsupported legacy block entries"
Ao converter schematics antigos, o DataFixerUpper da Mojang pode emitir mensagens Unsupported key: repetidas, incluindo minecraft:bed. O BetterStructures conta as mensagens correspondentes e apresenta as chaves numa linha informativa. É um resumo da saída da conversão, não uma falha separada do carregador de estruturas.
Se o resumidor não conseguir ligar-se ao sistema de registos do servidor, informa uma vez e mantém as mensagens originais visíveis. Analise separadamente outros erros de carregamento ou problemas visíveis das estruturas. O resumo, por si só, não prova uma instalação danificada nem verifica o resultado colocado.
Se as placas de aparecimento não funcionarem:
- confirme que o formato corresponde exatamente aos exemplos
- confirme a instalação de EliteMobs ou MythicMobs quando necessário
- verifique a grafia dos tipos de entidade e nomes dos mobs
- consulte os erros específicos nos registos do servidor