Creating content
Creating the build
There are no restrictions with what you can build for BetterStructures, although it is recommended to keep the size of the structures under 100x100x100 blocks for general world fit and performance reasons. That being said, it can easily handle much larger structures.
Special blocks
BetterStructures has two special blocks: barriers and bedrock. Any other block that WorldEdit can paste will be pasted normally, but barriers and bedrock blocks are the exception.
| Block | Behavior | Use Case |
|---|---|---|
| Barrier | Does not place any block at that location - preserves original terrain | Round edges of paste, mold walls to caves, natural integration |
| Bedrock | Guarantees a solid block exists. If air/liquid, replaces with pedestal material | Create floors for rails, guarantee floor exists without overriding existing blocks |
Spawn signs
BetterStructures can use signs with specific text to spawn mobs and bosses from EliteMobs and MythicMobs at specific locations.
Note: Spawn signs remain visible in the structure. Place them in hidden locations if you don't want them visible to players.
| Sign Type | Line 1 | Line 2-4 | Plugin Required |
|---|---|---|---|
| Vanilla Mobs | [spawn] | Entity type | None |
| EliteMobs | [elitemobs] | Boss filename (can span multiple lines) | EliteMobs |
| MythicMobs | [mythicmobs] | Mob name + level on separate lines | MythicMobs |
Spawn Sign Examples
Vanilla Mobs
[spawn]
ZOMBIE
Spawns a persistent zombie at that location. Works for any Spigot EntityType including armor stands and ender crystals.
EliteMobs
[elitemobs]
test_boss_with
_a_long_name
.yml
Long filenames can span multiple lines. Combat arenas are protected by WorldGuard until all bosses are killed.
MythicMobs
[mythicmobs]
SkeletalKnight
10
Spawns SkeletalKnight at level 10.
Schematics
Schematics are files generated by WorldEdit or FastAsyncWorldEdit which contain the blocks for the build that BetterStructures will be using. BetterStructures uses the .schem file format (the modern WorldEdit standard). Make sure to save your schematics using the .schem format, not the legacy .schematic format.
Detailed instructions on how to make a schematic are not included here, as they are thoroughly detailed on the WorldEdit and FastAsyncWorldEdit documentations, but it is generally done by:
- pick a corner of the build and use the command
//pos1 - pick the diagonally opposite corner and use the command
//pos2 - use the
//copycommand - use the command
/schem save <schematicname>where<schematicName>is the filename you want to use for your schematic.
Make sure you run the command //pos1 on point 1 and //pos2 on point 2!
Anchor point
Anchor points are where you run the //copy command for the schematic. They determine the origin point of the structure when placed in the world.
| Build Type | Recommended Anchor Position | Reason |
|---|---|---|
| Surface | Lowest point of the floor | Ensures proper ground alignment |
| Underground | On top of the build | Allows correct burial depth determination |
| Liquid | On top of the water | Proper water surface placement |
| Air/Sky | On top of the build | Correct altitude positioning |
Important: Always be very close or directly on top of the builds when copying. The farther away you are, the laggier the paste operation will be.
Schematic configurations
Every schematic file has a schematic configuration. If a schematic file has just been added to the server, the configuration will be generated after a restart or after a /betterstructures reload.
These configurations allow you to set the following settings for the schematic paste:
| Key | Default | Mandatory | Description |
|---|---|---|---|
isEnabled | true | ❌ | Whether the schematic is enabled. If disabled, it will not be placed anywhere. |
weight | 1.0 | ❌ | Selection weight. Higher = more likely to be picked. 2.0 = 2x more likely, 0.5 = half as likely. |
pedestalMaterial | Auto-detect | ❌ | Material for pedestal blocks (Spigot Material names). Auto-detects best fit if not set. |
generatorConfigFilename | - | ✅ | Generator config filename including .yml extension. Schematics without this will not spawn. |
treasureFile | Generator default | ❌ | Override treasure file for this structure. Generally better to modify the generator instead. |
Configuration Details
pedestalMaterial
Pedestals are blocks placed under surface/underground buildings to fill air gaps and improve terrain integration. These are also the blocks that replace bedrock blocks in the schematic.
When nothing is defined, the plugin analyzes blocks beneath the structure placement location and selects the most common material type using weighted random selection. Defaults: Nether = netherrack, End = end stone, Other = stone.
generatorConfigFilename
Example: generatorConfigFilename: generator_surface_global.yml
The generator file is found in the generators configuration folder.
treasureFile
See treasure file documentation and generator documentation for more details.
Customizing content
Everything distributed in BetterStructures is editable. You are able to modify any schematic files and generator settings to your liking.
The content creation guide above is also a guide that can help you edit existing content.
Troubleshooting
If your structure doesn't spawn, check that:
- The schematic file is in .schem format
- A valid generator configuration is specified
- The isEnabled option is set to true
- Your WorldEdit/FastAsyncWorldEdit version is compatible
If spawn signs don't work:
- Verify the sign format exactly matches the examples
- For EliteMobs/MythicMobs, ensure the plugins are installed
- Check that entity types/mob names are spelled correctly
- Review the server logs for specific error messages