Skip to main content

BetterStructures FAQ

If your question is about first-time Nightbreak linking, package downloads, or manual imports, start with the shared Global pages first. This FAQ only keeps BetterStructures-specific answers.

Why are structures not appearing?

The most common reason is that you are testing in terrain that was already explored before BetterStructures was installed.

BetterStructures is designed to generate into unexplored terrain so it does not retroactively fill in old chunks. If you want to see natural generation quickly:

  • fly into fresh chunks
  • generate a new test world
  • or use the placement and setup commands instead of waiting for natural generation

How do I stop the admin warnings about new structures?

BetterStructures keeps a warnAdminsAboutNewBuildings toggle in config.yml, and /betterstructures silent flips that value for you.

This is useful during pregeneration or other admin-heavy testing where the warnings become noisy.

What does setupDone mean?

setupDone tracks whether the BetterStructures first-time setup flow has been completed.

  • false means the setup flow is still considered incomplete
  • true means the setup flow has already been completed

If you intentionally want to rerun setup, set setupDone: false, reload the plugin, and run /bs initialize again.

Does BetterStructures require WorldEdit?

Yes. WorldEdit is a hard dependency in plugin.yml, so BetterStructures is not expected to run without it.

How does WorldGuard integration work?

If both WorldGuard and EliteMobs are installed, BetterStructures registers and uses the betterstructures-protect flag for its protected areas. Both plugins must be present for WorldGuard protection to activate.

The relevant config toggle is:

protectEliteMobsRegions: true

Set it to false if you do not want BetterStructures-managed WorldGuard protection for supported content.

Can I add custom items to BetterStructures treasure?

Yes. BetterStructures includes:

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

Use it while holding the item you want to register. The command writes the held item into the selected treasure generator entry.

Current validation rules from the command implementation:

  • the treasure generator must exist
  • the rarity must already exist in that treasure config
  • minAmount must be at least 1
  • maxAmount must be at most 64
  • the held item cannot be air

Does BetterStructures support MMOItems treasure entries?

Yes. BetterStructures has MMOItems support in the project and the existing treasure workflow supports third-party items. For MMOItems-specific syntax, keep the exact config examples in your treasure files aligned with the current treasure-page documentation instead of relying on older FAQ snippets.

How do EliteMobs and BetterStructures work together?

BetterStructures has soft integration with EliteMobs.

At a high level:

  • BetterStructures can place EliteMobs content markers inside generated structures
  • BetterStructures can also manage protected areas that matter for EliteMobs-backed content when the integration is enabled

For the shared setup flow, token linking, and official package lifecycle, use the Global docs and the BetterStructures setup/content pages instead of treating this FAQ as the primary source.

Can I pregenerate a world more safely?

Yes. BetterStructures exposes performance-oriented pregeneration settings in config.yml, including:

  • percentageOfTickUsedForPregeneration (default: 0.1) - how much of each server tick is used for chunk pregeneration
  • pregenerationTPSPauseThreshold (default: 12.0) - TPS below which pregeneration pauses
  • pregenerationTPSResumeThreshold (default: 14.0) - TPS above which pregeneration resumes

For normal structure pasting, the main pacing setting is:

percentageOfTickUsedForPasting: 0.2

Lower values reduce per-tick impact but make structure pasting slower.

How are structure locations determined?

BetterStructures keeps per-structure-type spacing and random-offset controls in config.yml.

The main distance controls are:

  • distanceSurface
  • distanceShallow
  • distanceDeep
  • distanceSky
  • distanceLiquid
  • distanceDungeonV2

The related offset controls are:

  • maxOffsetSurface
  • maxOffsetShallow
  • maxOffsetDeep
  • maxOffsetSky
  • maxOffsetLiquid
  • maxOffsetDungeonV2

In practice, this means generation stays seed-driven and config-driven rather than reshuffling randomly on every restart.

What does modularChunkPastingSpeed do?

modularChunkPastingSpeed (default: 10) controls the chunk pasting speed for modular dungeons. Higher values paste chunks faster but use more server resources per tick.

What does spawnProtectionRadius do?

spawnProtectionRadius (default: 100) defines the minimum distance in blocks from world coordinates 0, 0 within which no structures will be placed. This applies to all worlds. Set to 0 to disable spawn protection.

How do I disable structures in specific worlds?

BetterStructures maintains a ValidWorlds.yml configuration file that controls which worlds are eligible for structure generation. Each world is listed with a boolean toggle:

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

Set a world to false to prevent BetterStructures from placing any structures in that world. The New worlds spawn structures setting controls whether newly detected worlds are automatically enabled for structure generation.