Saltar para o conteúdo principal

Perguntas frequentes sobre BetterStructures

Para associar o Nightbreak pela primeira vez, transferir pacotes ou importar manualmente, comece pelas páginas globais partilhadas. Aqui estão apenas respostas específicas do BetterStructures.

Porque não aparecem estruturas?​

A causa mais comum é experimentar em terreno explorado antes de instalar o BetterStructures.

O plugin gera em terreno inexplorado e não preenche chunks antigos retroativamente. Para observar a geração natural rapidamente:

  • voe para chunks novos
  • crie um mundo de teste novo
  • ou use os comandos de colocação e configuração

Porque se desativou o BetterStructures após recarregar?​

/bs reload limpa os registos de conteúdo antes de os reconstruir numa thread de trabalho. Se a reconstrução lançar um erro, continuar deixaria o plugin aparentemente ativo com conteúdo vazio ou incompleto. Por isso, desativa-se deliberadamente.

O erro é apresentado na consola imediatamente antes da desativação. Corrija a configuração ou o schematic indicado e reinicie o servidor.

Porque é recusado o meu comando durante um recarregamento?​

/bs place, /bs lootify, /bs pregenerate e /bs generateModules acedem aos registos geridos pela thread de recarregamento e ficam temporariamente indisponíveis, com uma mensagem a indicar que o conteúdo está a ser recarregado. As análises de chunks novos e de masmorras pendentes aguardam a conclusão bem-sucedida. Se um chunk em fila descarregar, a análise espera pelo seu próximo carregamento. Aguarde pela mensagem de sucesso e tente novamente.

Repetir /bs reload durante o recarregamento coloca o pedido em fila. No fim, ocorre outro recarregamento completo para incluir alterações feitas entretanto.

Como desativo os avisos de novas estruturas?​

warnAdminsAboutNewBuildings em config.yml controla estes avisos. /betterstructures silent altera o valor.

É útil durante a pré-geração ou testes administrativos em que os avisos são demasiado frequentes.

A opção aplica-se a todo o servidor. As mensagens são enviadas aos jogadores online com a permissão betterstructures.warn, que os operadores têm por predefinição, pelo que também pode negar essa permissão a membros específicos da equipa.

O que significa setupDone?​

Indica se a configuração inicial BetterStructures foi concluída.

  • false: ainda incompleta
  • true: concluída

Para repetir a configuração, defina setupDone: false, recarregue e execute /bs initialize.

O BetterStructures exige WorldEdit?​

Sim. WorldEdit é uma dependência obrigatória no plugin.yml; o BetterStructures não foi concebido para funcionar sem ele.

Como funciona a integração WorldGuard?​

Com WorldGuard e EliteMobs instalados, o BetterStructures regista e usa betterstructures-protect nas áreas protegidas. Ambos são necessários para ativar a proteção.

A opção correspondente é:

protectEliteMobsRegions: true

Use false para desativar a proteção WorldGuard gerida pelo BetterStructures no conteúdo suportado.

A mensagem ao tentar partir ou colocar blocos numa área protegida também é configurável:

regionProtectedMessage: "&8[BetterStructures] &cDefeat the zone's bosses to edit blocks!"

Posso acrescentar itens personalizados aos tesouros?​

Sim, através de:

/betterstructures lootify <generator> <rarity> <minAmount> <maxAmount> <weight>

Execute-o com o item pretendido na mão. O comando escreve-o na entrada escolhida do gerador de tesouro.

Validações atuais:

  • o gerador de tesouro deve existir
  • a raridade já deve existir nessa configuração
  • minAmount deve ser pelo menos 1
  • maxAmount deve ser no máximo 64
  • o item na mão não pode ser ar

São suportadas entradas de tesouro MMOItems?​

Sim. O projeto inclui suporte MMOItems e o sistema de tesouros aceita itens de terceiros. Para a sintaxe específica, siga os exemplos atuais da página de tesouros nos seus ficheiros, em vez de excertos antigos de perguntas frequentes.

Como colaboram EliteMobs e BetterStructures?​

A integração com EliteMobs é opcional.

Em termos gerais:

  • o BetterStructures pode colocar marcadores de conteúdo EliteMobs nas estruturas geradas
  • também pode gerir áreas protegidas para esse conteúdo quando a integração está ativa

Para configuração partilhada, tokens e ciclo de vida dos pacotes oficiais, use as páginas globais e as páginas de configuração e conteúdo BetterStructures.

Posso pré-gerar um mundo com menos impacto?​

Sim. O config.yml inclui opções de desempenho:

  • percentageOfTickUsedForPregeneration, predefinição 0.1: parcela do tick usada na pré-geração
  • pregenerationTPSPauseThreshold, predefinição 12.0: TPS abaixo do qual a pré-geração pausa
  • pregenerationTPSResumeThreshold, predefinição 14.0: TPS acima do qual retoma

Para a colocação normal de estruturas, a opção principal é:

percentageOfTickUsedForPasting: 0.2

Valores menores reduzem o impacto por tick, mas tornam a colocação mais lenta.

Como são determinadas as posições das estruturas?​

O config.yml contém espaçamentos e desvios aleatórios por tipo. Consulte Configuração para a referência completa.

Cada tipo usa a sua própria grelha em losango baseada na seed. Distâncias e desvios são medidos em chunks, não em blocos. distanceSurface: 27 equivale aproximadamente a uma estrutura a cada 27 chunks, cerca de 432 blocos.

Distâncias principais:

  • distanceSurface: 27
  • distanceShallow: 22
  • distanceDeep: 22
  • distanceSky: 90
  • distanceLiquid: 60
  • distanceDungeonV2: 80

Desvios correspondentes:

  • maxOffsetSurface: 5
  • maxOffsetShallow: 5
  • maxOffsetDeep: 5
  • maxOffsetSky: 5
  • maxOffsetLiquid: 5
  • maxOffsetDungeonV2: 18

Os números acima são as predefinições. As distâncias devem ser pelo menos 1; os desvios devem ficar entre 0 e 1073741823, o máximo seguro do gerador aleatório. Valores fora do intervalo geram avisos e são substituídos pelas predefinições no config.yml, sem fazer falhar a geração.

A distribuição continua assim a depender da seed e da configuração, sem mudar aleatoriamente em cada reinício.

O que faz modularChunkPastingSpeed?​

Atualmente, nada. A chave, predefinida como 10, continua a ser escrita em config.yml, mas nenhum código a lê. Use percentageOfTickUsedForPasting para ajustar a parcela de cada tick dedicada à colocação de blocos.

O que faz spawnProtectionRadius?​

Define o raio em blocos à volta de 0, 0 onde não são colocadas estruturas. A predefinição é 100 e aplica-se a todos os mundos. Use 0 para desativar.

Como desativo estruturas em determinados mundos?​

ValidWorlds.yml controla os mundos elegíveis para geração. Cada um tem uma opção booleana:

New worlds spawn structures: true
Valid worlds v2:
world: true
world_nether: true
world_the_end: true

Use false num mundo para impedir todas as estruturas BetterStructures. New worlds spawn structures determina se os novos mundos detetados são ativados automaticamente.

Se o ficheiro antigo usar Valid worlds, a atualização arquiva-o e gera as predefinições atuais. Volte a aplicar as escolhas pretendidas em Valid worlds v2, seguindo as instruções de atualização da configuração.

Dois comportamentos relevantes:

  • Novos mundos geridos pelo EliteMobs são excluídos por predefinição. O BetterStructures consulta o registo de propriedade EliteMobs e acrescenta-os com false, mesmo com New worlds spawn structures: true. Preserva opções existentes, incluindo true explícito. Um mundo gerido que esteja ativo gera um aviso. O prefixo em_ não comprova propriedade e o marcador antigo de migração já não é usado.
  • Entradas de mundos eliminados são removidas. No arranque e cerca de dez segundos após descarregar um mundo, são removidas entradas de Valid worlds v2 cujo mundo não esteja carregado nem exista no disco, para evitar a acumulação de entradas sem uso.

Posso aplicar uma atualização do plugin sem reiniciar?​

Sim. Depois de /bs downloadpluginupdate, /bs downloadall ou o menu de configuração terem transferido uma atualização, execute /bs applypluginupdate. Para que as atualizações transferidas sejam aplicadas automaticamente, defina nightbreak.applyPluginUpdatesWithoutRestart em config.yml como when-empty ou immediately. Consulte Comandos para saber o que a substituição recarrega e quando é recusada.

Como reparo um pacote danificado ou parcialmente eliminado?​

Use /bs forcereinstallcontent <package|all>. As transferências normais ignoram versões já atualizadas, mesmo que os ficheiros estejam danificados. A reinstalação forçada volta a passar o pacote pelo processo autenticado de transferência, importação e recarregamento, independentemente da versão.

all abrange os pacotes detetados como transferidos, instalados ou desatualizados. Se todos os ficheiros desapareceram, indique diretamente o slug; as sugestões por Tab incluem todos os slugs conhecidos.