MegaBlock Survivors Setup
The MegaBlock Survivors setup flow is built around Nightbreak-managed content packages, with optional model support through FreeMinecraftModels.
Requirements
- Java
21 - A Paper/Spigot-compatible server on the
1.21API line
Optional integrations:
FreeMinecraftModelsfor custom mob and weapon models (soft dependency)
What MegaBlock Survivors Creates
On startup, MegaBlock Survivors initializes or uses these paths:
plugins/MegaBlockSurvivors/config.yml
plugins/MegaBlockSurvivors/content_packages/
plugins/MegaBlockSurvivors/imports/
plugins/MegaBlockSurvivors/worlds/
plugins/MegaBlockSurvivors/leaderboard.yml
plugins/MegaBlockSurvivors/version.txt
Configuration
config.yml contains:
| Key | Type | Default | Description |
|---|---|---|---|
setupDone | boolean | false | Tracks whether the first-time setup guidance has been completed |
First-Time Setup Warning
When setupDone is false, the plugin shows a first-time setup warning to players with the megablocksurvivors.* permission when they join. This guides them through the initial content download.
Recommended First-Time Flow
- Install MegaBlock Survivors and start the server once.
- Link your Nightbreak account with
/nightbreaklogin <token>. - Run
/mbs downloadallto download all accessible MegaBlock Survivors content packages intoplugins/MegaBlockSurvivors/imports. - Run
/mbs setupany time you want to browse, enable, disable, or update individual packages. - Run
/mbs reloadafter downloading content to load the new maps and resources.
/nightbreaklogin <token> is part of the shared Nightbreak/MagmaCore account flow, not a command declared in MegaBlock Survivors' plugin.yml.
Content Packages
Content packages are configured via YAML files in the content_packages/ folder. Each package can define:
| Field | Type | Description |
|---|---|---|
isEnabled | boolean | Whether the package is active |
name | string | Display name of the package |
description | string list | Description lines |
downloadLink | string | Manual download URL |
version | integer | Package version number |
nightbreakSlug | string | Nightbreak content slug for automatic downloads |
schematicFiles | string list | Schematic files included in the package |
worldFolders | string list | World folders included |
worldContainerFolders | string list | World container folders included |
modelFolders | string list | Model folders for FreeMinecraftModels |
markerFileName | string | Marker file for detecting if the package is installed |
category | enum | FREE, PREMIUM, or RESOURCES |
toggleable | boolean | Whether the package can be toggled on/off |
Version Update Notifications
When the plugin detects a version update (by comparing against version.txt), it notifies the console and all online OPs about the version change.