Skip to main content

How to Use Commands

Plugin Version: 2.0.3+
Minecraft Versions: 1.19.4 - 1.21.10

  • Go to the commands page for help: [Commands Page](../Better Structures/commands.md)

Checking Where Structures Appear

BetterStructures can notify administrators when structures spawn:

Enabling/Disabling:

  • Toggle with /betterstructures silent command
  • Or set warnAdminsAboutNewBuildings: true/false in config.yml

What you see:

  • If you are a server admin and haven't turned off warnings, you'll be notified in chat when a structure appears.
  • Click the chat message to teleport to the structure (not for Bedrock edition).
  • Turn warnings on/off with /betterstructures silent.

When to disable:

  • During world pre-generation with Chunky (reduces console spam)
  • On busy servers where notifications are excessive
  • If you prefer to discover structures naturally

Notifications only appear to players with operator permissions.

Why Structures May Not Appear

  • Usually, structures don't appear in areas already explored. Visit new areas for structures.
More Details

Structures won't appear in already explored areas to avoid filling them too much and damaging player buildings. BetterStructures knows if an area was explored before it was installed and won’t place structures there. If your world was fully explored before installing BetterStructures, you need to regenerate it or create a new world.

EliteMobs and BetterStructures

What EliteMobs Offers

Getting Pre-Made EliteMobs Content

Using EliteMobs Without Other Features

  • You can turn off other EliteMobs features. To disable, change settings in:
    • events.yml: timedEventsEnabled: false and actionEventsEnabled: false disables all events
    • MobCombatSettings.yml: doNaturalMobSpawning: false disables natural elite spawns

Adding an EliteMobs boss to your structure

  • Add [elitemobs] to the first line of your sign
  • Add the filename of the boss on the second / third / fourth lines of the sign like test_boss.yml
  • More info [here](../Better Structures/creating_structures.md)

WorldEdit Compatibility

BetterStructures requires WorldEdit to function.

IMPORTANT: AsyncWorldEdit is NOT compatible with BetterStructures and will break structure generation.

  • Use standard WorldEdit only
  • AsyncWorldEdit will cause errors and prevent structures from placing correctly
  • If you experience structure generation problems, verify you are using WorldEdit, not AsyncWorldEdit

BetterStructures with other plugins

MMOItems

  • Add MMOItems with mmoitems=<TYPE>@<ITEM-ID> in the treasure configuration file.

WorldGuard

BetterStructures automatically protects structures using WorldGuard regions when WorldGuard is installed.

  • Prevents players from breaking or modifying structure blocks
  • Uses custom flag: betterstructures-protect
  • When EliteMobs bosses are defeated, protection is automatically removed
  • WorldGuard is a soft dependency (optional but recommended)

Disabling Protection:

Set protectEliteMobsRegions: false in config.yml to disable automatic protection. Useful if you:

  • Do not use WorldGuard
  • Want players to modify structures during combat
  • Use a different protection plugin

Custom Items from Other Plugins

Use the lootify command to add any items to chests.

Command syntax:

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

Hold the item you want to add in your hand, then run the command:

  • generator: The treasure configuration name
  • rarity: The rarity tier (common, rare, epic, etc.)
  • minAmount/maxAmount: Stack size range (1-64)
  • weight: Probability weight (higher = more common)

Example: /bs lootify basic_treasure rare 1 3 0.5

For more details, see the [Commands Page](../Better Structures/commands.md).

Structure Types and Placement

BetterStructures supports six different structure types, each designed for specific environments:

  • Surface: Ground-level structures that adapt to terrain height
  • Shallow Underground: Near-surface underground structures
  • Deep Underground: Deep cave structures for underground exploration
  • Sky: Floating structures in the air (typically Y: 80-120)
  • Liquid Surface: Structures that spawn on water or lava surfaces
  • Dungeon: Special dungeon-type structures

Each type uses specialized terrain-fitting algorithms to ensure natural integration with your world.

You can manually place structures using:

/betterstructures place <schematic> <type>

Valid types: SURFACE, SKY, LIQUID_SURFACE, UNDERGROUND_DEEP, UNDERGROUND_SHALLOW

Creating Your Own Structures

  • Learn how: [Structure Creation Guide](../Better Structures/creating_structures.md)

Performance Impact and Minimization

Generating many structures can slow down your server. Here are ways to minimize performance impact:

Pre-Generation

  • Use Chunky to pre-generate your world and avoid performance issues
  • Pre-generate worlds offline before adding players when possible

Performance Configuration

You can adjust the performance impact in the BetterStructures configuration file:

  • Setting: percentageOfTickUsedForPasting (default: 0.2 = 20%)
  • Lower values reduce lag but slow structure generation
  • Higher values speed up generation but may impact TPS during pasting

Post-Generation

  • If not using EliteMobs, you can remove BetterStructures after world generation
  • With EliteMobs, keep BetterStructures for protected areas management, with minimal impact

How are structure locations determined?

BetterStructures uses a deterministic diamond grid to place structures:

Grid calculation:

  1. Combines world seed + structure type
  2. Divides world into grid cells based on distance settings
  3. Adds random offset within each cell
  4. Same seed = same structure locations every time

What this means:

  • Structure locations are reproducible (same seed = same placements)
  • Restarting server does not change structure locations
  • Different worlds have different patterns
  • Appears random to players but is actually deterministic

Why it is designed this way:

  • Prevents exploiting structure locations
  • Ensures consistent world generation
  • Allows server admins to reproduce worlds
  • Maintains even structure distribution

For server admins: If you want structures in different locations, you must generate a new world with a different seed. Changing config values will not move already-determined structure locations.

What is the "setupDone" flag?

In config.yml, you will find:

setupDone: false

Purpose: Tracks whether you have completed first-time setup using /bs initialize

Values:

  • false: First-time setup not completed (default)
  • true: Setup wizard has been run

Effects:

  • Controls first-time setup warnings and prompts
  • May affect available menu options

Resetting: To re-run the setup wizard:

  1. Change setupDone: true to setupDone: false
  2. Save config.yml
  3. Run /bs reload
  4. Run /bs initialize