Pular para o conteúdo principal

BetterStructures

BetterStructures é um scanner de topologia agnóstico ao gerador que encontra locais de colocação ideais para estruturas personalizadas com base na geometria e características dos blocos. O plugin cola esquemáticos no seu mundo com métodos de adaptação de terreno que preservam a aparência natural do seu mundo.

O plugin usa varredura avançada para medir a compatibilidade do terreno e adapta estruturas para se encaixarem perfeitamente em mundos existentes. Ele suporta pedestais, blocos especiais e colagem inteligente que faz as estruturas parecerem naturais em qualquer ambiente.

Começando

Requisitos

Obrigatório:

  • WorldEdit ou FastAsyncWorldEdit (um deve estar instalado)
  • Minecraft 1.14+ (Paper recomendado)

Opcional:

  • EliteMobs (para encontros com chefes em estruturas)
  • WorldGuard (para proteção de região)
  • Geradores de mundo personalizados (Terralith, Iris, Terra, TerraformGenerator)

Instalação

  1. Instale WorldEdit ou FastAsyncWorldEdit no seu servidor
  2. Baixe BetterStructures e coloque na pasta de plugins
  3. Baixe pacotes de estruturas:
  4. Extraia os arquivos de estrutura baixados para ~/plugins/BetterStructures/imports
  5. Inicie seu servidor ou execute /betterstructures reload

O plugin processa automaticamente as estruturas importadas e as torna disponíveis para geração.

Início Rápido

Após a instalação, as estruturas aparecem automaticamente no seu mundo com base nas configurações definidas. Para testar a colocação de estruturas ou gerenciar o plugin, use os comandos listados abaixo.

Comandos

Todos os comandos usam a base /betterstructures ou alias /bs.

ComandoDescriçãoPermissão
/betterstructuresComando principalNenhuma
/betterstructures reloadRecarregar todas as configuraçõesbetterstructures.*
/betterstructures place <nome> <tipo>Testar colocação de estrutura na sua localizaçãobetterstructures.*
/betterstructures lootifyAdicionar itens personalizados às tabelas de saquebetterstructures.*
/betterstructures setupExecutar processo de configuraçãobetterstructures.setup
/betterstructures initializeInicializar o pluginbetterstructures.initialize
/betterstructures generatemodulesGerar masmorras modulares (velocidade normal)betterstructures.generatemodules
/betterstructures generatemodules slowlyGerar masmorras modulares lentamente (baixo impacto no servidor)betterstructures.generatemodules.slowly
/betterstructures generatemodules instantlyGerar masmorras modulares instantaneamente (alto impacto no servidor)betterstructures.generatemodules.instantly
/betterstructures teleportTeletransportar para localizações de estruturasbetterstructures.*
/betterstructures versionExibir versão do pluginNenhuma
/betterstructures silentAlternar modo silenciosobetterstructures.*

Permissões

Todas as permissões padrão são op (apenas operadores do servidor).

PermissãoDescriçãoPadrão
betterstructures.setupAcesso ao comando setupop
betterstructures.initializeAcesso ao comando initializeop
betterstructures.generatemodulesAcesso à geração padrão de módulosop
betterstructures.generatemodules.slowlyAcesso à geração lenta de módulosop
betterstructures.generatemodules.instantlyAcesso à geração instantânea de módulosop

Tipos de Estruturas

BetterStructures suporta seis tipos de estruturas, cada uma com diferentes regras de colocação e locais de spawn.

SURFACE

Gera estruturas na superfície do solo, adaptando-se à elevação do terreno. O plugin varre áreas planas ou compatíveis e coloca estruturas com mistura automática de terreno.

Espaçamento padrão: 31 blocos entre estruturas

SKY

Coloca estruturas flutuando no ar em grandes altitudes.

Faixa de altitude:

  • Overworld: 80-120 blocos
  • End: 80-120 blocos

Espaçamento padrão: 95 blocos entre estruturas

UNDERGROUND_SHALLOW

Gera estruturas em áreas subterrâneas rasas perto da superfície.

Faixa de nível Y (Overworld): 0 a 60

Espaçamento padrão: 22 blocos entre estruturas

UNDERGROUND_DEEP

Cria estruturas em locais subterrâneos profundos, incluindo cavernas profundas e cavernas.

Faixa de nível Y (Overworld): -64 a 0

Espaçamento padrão: 22 blocos entre estruturas

LIQUID_SURFACE

Gera estruturas em superfícies de água ou lava, perfeito para monumentos oceânicos ou bases flutuantes.

Espaçamento padrão: 65 blocos entre estruturas

DUNGEON

Gera masmorras procedurais modulares usando o algoritmo Wave Function Collapse. Essas estruturas conectam múltiplos módulos para criar sistemas subterrâneos complexos.

Espaçamento padrão: 80 blocos entre estruturas

Configuração

Configuração Principal (config.yml)

O arquivo de configuração principal contém configurações globais que se aplicam a todas as estruturas.

Faixas de Nível Y

Controla os limites de altura para geração de estruturas em diferentes dimensões.

# Overworld/Mundos Personalizados
lowestYNormalCustom: -60
highestYNormalCustom: 320

# Nether
lowestYNether: 4
highestYNether: 120

# End
lowestYEnd: 0
highestYEnd: 320

Altitudes de Construção Aérea

Define as faixas de altitude para estruturas baseadas no céu.

# Overworld/Mundos Personalizados
normalCustomAirBuildingMinAltitude: 80
normalCustomAirBuildingMaxAltitude: 120

# End
endAirBuildMinAltitude: 80
endAirBuildMaxAltitude: 120

Espaçamento de Estruturas

Define distâncias mínimas entre estruturas de cada tipo.

distanceSurface: 31        # Estruturas de superfície
distanceShallow: 22 # Subterrâneo raso
distanceDeep: 22 # Subterrâneo profundo
distanceSky: 95 # Estruturas do céu
distanceLiquid: 65 # Superfície líquida
distanceDungeon: 80 # Masmorras

Aleatoriedade de Espaçamento

Adiciona deslocamento aleatório à colocação de estruturas para evitar padrões de grade.

maxOffsetSurface: 5        # ±5 blocos para superfície
maxOffsetShallow: 5 # ±5 blocos para raso
maxOffsetDeep: 5 # ±5 blocos para profundo
maxOffsetSky: 5 # ±5 blocos para céu
maxOffsetLiquid: 5 # ±5 blocos para líquido
maxOffsetDungeon: 18 # ±18 blocos para masmorras

Notificações de Administrador

warnAdminsAboutNewBuildings: true  # Notificar admins quando estruturas aparecem

Configuração de Esquemáticos

Cada esquemático tem seu próprio arquivo de configuração em ~/plugins/BetterStructures/schematics/.

Configurações disponíveis:

  • isEnabled: Ativar ou desativar este esquemático (padrão: true)
  • weight: Probabilidade de seleção quando múltiplos esquemáticos estão disponíveis (padrão: 1.0)
  • generatorConfigFilename: Vincula à configuração do gerador que controla onde esta estrutura aparece
  • pedestalMaterial: Tipo de bloco usado para pedestais sob a estrutura
  • treasureFile: Configuração de tabela de saque personalizada para baús nesta estrutura

Configuração do Gerador

As configurações do gerador controlam onde e quando as estruturas aparecem. Os arquivos estão localizados em ~/plugins/BetterStructures/generators/.

Configurações disponíveis:

  • structureType: Um dos seis tipos (SURFACE, SKY, UNDERGROUND_SHALLOW, UNDERGROUND_DEEP, LIQUID_SURFACE, DUNGEON)
  • lowestYLevel: Altura mínima de spawn (padrão: -59)
  • highestYLevel: Altura máxima de spawn (padrão: 320)
  • validWorlds: Lista de nomes de mundos onde esta estrutura pode aparecer (vazio = todos os mundos)
  • validWorldEnvironments: Filtrar por tipo de ambiente (NORMAL, NETHER, THE_END)
  • validBiomes: Lista de biomas onde a estrutura pode aparecer (suporta formato namespace como minecraft:plains)
  • treasureFilename: Referência de tabela de saque para baús nesta estrutura

Configuração de Tesouro

As configurações de tesouro definem tabelas de saque para baús de estruturas. Os arquivos estão localizados em ~/plugins/BetterStructures/treasures/.

Configurações disponíveis:

  • mean: Número médio de itens por baú (padrão: 4.0)
  • standardDeviation: Variação nas quantidades de itens (padrão: 3.0)
  • rawLoot: Pools de itens organizados por nível de raridade
  • chestEntries: Itens específicos com faixas de quantidade e chances de spawn

Configuração de encantamento:

Cada material pode ter regras de encantamento:

  • minLevel: Nível mínimo de encantamento
  • maxLevel: Nível máximo de encantamento
  • chance: Probabilidade de aplicar encantamento (0.0 a 1.0)

Blocos Especiais

BetterStructures usa blocos especiais em esquemáticos para controlar o comportamento de colagem e adicionar funcionalidade.

Blocos de Barreira

Blocos de barreira dizem ao plugin para pular a colagem naquele local, preservando a geração original do mundo.

Casos de uso:

  • Criar bordas de aparência natural que se misturam com o terreno
  • Preservar cavernas ou características existentes
  • Arredondar cantos de estruturas para combinar com a paisagem

Blocos de Bedrock

Blocos de bedrock garantem piso sólido sob a estrutura.

Comportamento:

  • Se um bloco sólido existe naquele local, deixe-o inalterado
  • Se o bloco é ar ou líquido, substitua-o pelo material do pedestal

Casos de uso:

  • Criar caminhos definidos sem sobrescrever terreno natural
  • Garantir que estruturas tenham fundações estáveis
  • Adicionar recursos como trilhos de carrinho de mina ou pontes que requerem blocos sólidos

Placas de Spawn

Placas de spawn criam spawns de mobs em locais específicos nas suas estruturas. As placas são removidas quando a estrutura é colada.

Mobs Vanilla

[spawn]
ZOMBIE

Formato:

  • Linha 1: [spawn]
  • Linha 2: Tipo de entidade (use nomes da API Spigot como ZOMBIE, SKELETON, CREEPER)

Integração com EliteMobs

[elitemobs]
boss_filename.yml

Formato:

  • Linha 1: [elitemobs]
  • Linha 2+: Nome do arquivo de configuração do chefe

Cria encontros com chefes com proteção WorldGuard. A região protegida permanece até os jogadores derrotarem o chefe.

Integração com MythicMobs

[mythicmobs]
mob_identifier
5

Formato:

  • Linha 1: [mythicmobs]
  • Linha 2: ID do mob MythicMobs
  • Linha 3: Nível do mob (opcional)

Integração de Plugins

EliteMobs

BetterStructures se integra com EliteMobs para criar arenas de chefes e encontros de combate.

Recursos:

  • Spawnar chefes EliteMobs em estruturas usando placas de spawn
  • Proteção automática de região durante lutas de chefes
  • Remoção de proteção quando o chefe é derrotado

Configuração:

protectEliteMobsRegions: true  # Ativar proteção de região EliteMobs

WorldGuard

A integração com WorldGuard fornece proteção de região e controle de colocação.

Recursos:

  • Flags personalizadas para colocação de estruturas
  • Capacidades de proteção de região
  • Compatibilidade com áreas protegidas pelo WorldGuard

WorldEdit / FastAsyncWorldEdit

WorldEdit ou FastAsyncWorldEdit é necessário para operações de colagem de esquemáticos.

Requisitos:

  • Instale um (não ambos) desses plugins
  • A compatibilidade de versão é crítica - use versões correspondentes ao seu servidor
  • FastAsyncWorldEdit é recomendado para estruturas grandes em servidores ocupados

Geradores de Mundo

BetterStructures funciona com geradores de mundo personalizados:

Geradores suportados:

  • Terralith
  • Iris
  • Terra
  • TerraformGenerator

Essas integrações permitem a geração de estruturas em biomas personalizados e tipos de terreno.

Ajuste de Desempenho

Ajuste essas configurações em config.yml para otimizar o desempenho do seu servidor.

Velocidade de Colagem de Chunks

modularChunkPastingSpeed: 10

Controla a rapidez com que estruturas modulares são coladas. Valores mais altos colam mais rápido, mas usam mais recursos do servidor.

Valores recomendados:

  • Servidores pequenos (1-10 jogadores): 10-15
  • Servidores médios (10-50 jogadores): 5-10
  • Servidores grandes (50+ jogadores): 3-5

Porcentagem de Uso de Tick

percentageOfTickUsedForPasting: 0.2

Limita a porcentagem de cada tick do servidor usado para operações de colagem. O padrão é 0.2 (20% do tempo de tick).

Valores recomendados:

  • Servidores de alto desempenho: 0.3-0.4 (30-40%)
  • Servidores padrão: 0.2 (20%)
  • Servidores ocupados com problemas de TPS: 0.1-0.15 (10-15%)

Velocidade de Geração de Módulos

Ao usar /betterstructures generatemodules, você tem três opções de velocidade:

Normal: /betterstructures generatemodules Velocidade de geração equilibrada com impacto moderado no servidor.

Lentamente: /betterstructures generatemodules slowly Impacto mínimo no servidor, melhor para servidores ocupados ou durante horários de pico.

Instantaneamente: /betterstructures generatemodules instantly Velocidade máxima, alto impacto no servidor. Use apenas durante períodos de baixo tráfego.

API do Desenvolvedor

BetterStructures fornece dois eventos para desenvolvedores de plugins interagirem com a geração de estruturas.

BuildPlaceEvent

Dispara quando uma estrutura está prestes a ser colocada no mundo.

Pacote: com.magmaguy.betterstructures.api.BuildPlaceEvent

Tipo de evento: Cancelável

Casos de uso:

  • Validar colocação de estruturas
  • Implementar verificações de permissão personalizadas
  • Prevenir colocação em áreas específicas
  • Registrar geração de estruturas

Importante: Não modifique o objeto build em si. O evento expõe o objeto FitAnything, mas modificar toda a construção pode causar má adaptação ao terreno. Faça apenas ajustes menores se necessário.

ChestFillEvent

Dispara quando baús em estruturas estão sendo preenchidos com saque.

Pacote: com.magmaguy.betterstructures.api.ChestFillEvent

Tipo de evento: Cancelável

Casos de uso:

  • Adicionar itens personalizados ao saque de estruturas
  • Modificar ou remover saque gerado
  • Implementar lógica de saque personalizada
  • Rastrear conteúdo de baús

Uso: Modifique o saque usando os métodos addItem() e removeItem() no inventário snapshot. Não manipule diretamente o contêiner do baú.

Dependência Maven

BetterStructures atualmente não possui um repositório Maven. Para usar a API, importe manualmente o jar do plugin no seu projeto.

<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>BetterStructures</artifactId>
<version>2.0.3</version>
<scope>provided</scope>
</dependency>

Adicione o jar do plugin ao caminho de construção do seu projeto e marque-o como uma dependência fornecida no seu plugin.yml.

Recursos Adicionais

Wiki Oficial do GitHub: github.com/MagmaGuy/BetterStructures/wiki

Downloads de Estruturas:

Página do Plugin: spigotmc.org/resources/betterstructures.103241

Suporte: Visite o repositório oficial do GitHub ou a página de recursos do SpigotMC para suporte e relatórios de bugs.