Skip to main content

BetterStructures Setup

BetterStructures still supports manual imports, but the current recommended workflow is Nightbreak-first and in-game.

Requirements​

  • WorldEdit or FAWE-compatible schematic support
  • Java 21 runtime for the current build line
  1. Install BetterStructures and WorldEdit, then start the server once.
  2. Run /bs initialize.
  3. Link a Nightbreak token with /nightbreaklogin <token>.
  4. Open /bs setup to browse structure packs and module packs.
  5. Use /bs downloadall for a quick bootstrap (it grabs a pending plugin update and all content).
  6. Use /bs updatecontent when package updates are available.

The First-Time Setup Menu​

/bs initialize opens a small guided menu. Until one of its options is picked, every player holding betterstructures.* gets a reminder message ten seconds after joining. All three options mark setup as complete by writing setupDone: true into config.yml.

OptionWhat it does
Recommended SetupMarks setup complete and prints the three-step path: get a token from nightbreak.io/account, link it with /nightbreaklogin <token>, then open /bs setup.
Manual SetupMarks setup complete and leaves content management to you, pointing at /bs setup and the imports folder.
Use Current ContentDismisses the prompt and keeps the current content. If the schematic registry is nonempty, it runs a reload; otherwise it reports that no content is installed and points you at /bs setup. This check does not count modules.

If neither WorldEdit nor FastAsyncWorldEdit is installed, the third slot is replaced by a warning telling you to install one before continuing.

The Setup Menu​

/bs setup opens a paged menu where packages are split into two filters: Structure Packs and Module Packs. Each package shows whether it is installed, downloaded but not enabled, outdated, or needs Nightbreak access. Its click action depends on that state: download, install, update, uninstall or show access information.

Alongside the packages, the menu also exposes shared MagmaCore controls bundled into BetterStructures:

  • Plugin Update - shows whether a newer BetterStructures build is available and lets you download it. A restart applies it, unless you run /bs applypluginupdate or set nightbreak.applyPluginUpdatesWithoutRestart in config.yml to when-empty or immediately. The check runs automatically on boot and refreshes about once per hour, so a freshly started server may briefly show "Plugin Update Pending".
  • Recommended Plugins - opens the companion-plugin recommendation view (same as /bs recommendedplugins). The icon turns green once every listed recommendation is installed.
  • Download All Content - the bulk entry appended after the package list, equivalent to /bs downloadall.
  • Automatic Updates - a toolbar toggle for whether BetterStructures downloads plugin and content updates automatically on startup. This is off by default and is backed by the nightbreak.autoDownloadPluginUpdates key in config.yml. Automatic content downloads are staged for the next restart rather than triggering a live reload. A restart also applies a downloaded plugin update, unless nightbreak.applyPluginUpdatesWithoutRestart is set to when-empty or immediately (see Configuration).
  • Installation tips - the info button, which prints the setup guide, account token page, support Discord, and clickable setup commands into chat.

/bs setup is refused while a content reload is running, since the menu reads the same registries the reload worker is rebuilding. Wait for the reload to report success and open it again.

The menu does not check file integrity. A damaged or partly deleted package can still appear current if its path exists and its version matches. Use /bs forcereinstallcontent <package|all> to repair it; name the slug directly if the entire package folder is missing. Uninstalling keeps files on disk. It sets the package's isEnabled to false and reloads, and the reload skips every schematic or module inside that package's folder, including subfolders.

Manual Import Fallback​

Manual imports still work through:

plugins/BetterStructures/imports

Keep package zips intact, then run /bs reload if required. /bs reload imports anything sitting in that folder as part of the reload, so you do not need a restart to pick up a dropped-in package.

Note that leaving files in imports slows startup: when the folder is not empty, BetterStructures waits for the plugins listed in its softdepend to finish initializing before it starts, because importing content into another plugin's data folder means that plugin has to be reloaded. Once the folder is empty again, BetterStructures initializes without waiting.

See the shared guide: Manual imports vs in-game management.