Creating Spawns
What are Custom Spawns?
Custom Spawns are used by Events and global reinforcements to set how, where and when an event should spawn the boss for that event.
Events and global reinforcements set which spawn they are using by writing down its filename.
Creating Custom Spawns
Custom Spawns go into the customspawns folder. One Custom Spawn can be used by several events at the same time, so you don't have to create one per event.
Here is an example Custom Spawn:
isEnabled: true
validWorldEnvironments:
- NORMAL
- CUSTOM
bypassWorldGuard: false
isSurfaceSpawn: true
Making an Anywhere Spawn
To make a spawn that can occur anywhere, your configuration should resemble the following:
isEnabled: true
canSpawnInLight: true
This configuration allows mobs to spawn in any location, in any world, at any time, and during any moon phase.
If you're interested in creating a more customized spawn, keep reading below.
Values
isEnabled
Sets if the spawn is enabled.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Example
isEnabled: true
lowestYLevel
Sets the lowest y level (map height) used.
| Key | Values | Default |
|---|---|---|
lowestYLevel | Integer | 0 |
Example
lowestYLevel: 0
highestYLevel
Sets the lowest y level (map height) used.
| Key | Values | Default |
|---|---|---|
highestYLevel | Integer | 320 |
Example
highestYLevel: 320
validWorlds
Sets the list of the worlds where the custom spawn can happen. This setting can be left out to allow all your worlds to be valid.
| Key | Values | Default |
|---|---|---|
validWorlds | String List | none |
Example
validWorlds:
- WORLD
- FUN_LAND
If you want all your worlds to be valid you can just not use the setting or format it like this:
validWorlds: []
validWorldEnvironments
Sets the list of valid world environments where the custom spawn can happen. This setting can be left out to allow all environments to be valid.
| Key | Values | Default |
|---|---|---|
validWorldEnvironments | Environment List | none |
Example
validWorldEnvironments:
- NORMAL
- NETHER
If you want all environments to be valid you can just not use the setting or format it like this:
validWorldEnvironments: []
validBiomesV2
Sets the list of valid biomes where the custom spawn can happen. This setting can be left out to allow all biomes to be valid.
This setting used to be called validBiomes in older versions of EM.
nBiomes can be specified using standard Minecraft biome names (e.g., DESERT, MUSHROOM_FIELDS) or using namespaced format (e.g., minecraft:desert). Custom biomes from other plugins may be supported depending on plugin compatibility.
| Key | Values | Default |
|---|---|---|
validBiomesV2 | Biome List | none |
Example
validBiomesV2:
- DESERT
- MUSHROOM_FIELDS
If you want all environments to be valid you can just not use the setting or format it like this:
validBiomesV2: []
earliestTime
Sets the earliest in-game time at which the custom spawn can happen.
| Key | Values | Default |
|---|---|---|
earliestTime | Integer | 0 |
Example
earliestTime: 0
latestTime
Sets the latest in-game time at which the custom spawn can happen.
| Key | Values | Default |
|---|---|---|
latestTime | Integer | 24000 |
Example
latestTime: 24000
moonPhase
Sets the required moon phase for the custom spawn to occur.
| Key | Values | Default |
|---|---|---|
moonPhase | Special [1] | none |
Example
moonPhase: FULL_MOON
Special [1]
Expand Table
| Moon Phase | Preview |
|---|---|
NEW_MOON | 🌑 |
WAXING_CRESCENT | 🌒 |
FIRST_QUARTER | 🌓 |
WAXING_GIBBOUS | 🌔 |
FULL_MOON | 🌕 |
WANING_GIBBOUS | 🌖 |
WANING_CRESCENT | 🌘 |
LAST_QUARTER | 🌗 |
bypassWorldGuard
Sets if the custom spawn will bypass protection systems such as WorldGuard.
| Key | Values | Default |
|---|---|---|
bypassWorldGuard | Boolean | false |
Example
bypassWorldGuard: false
canSpawnInLight
Specifies whether the custom spawn can occur on blocks illuminated by light sources. When set to false, spawns only occur at light level 8 or below. When set to true, spawns can occur at any light level.
| Key | Values | Default |
|---|---|---|
canSpawnInLight | Boolean | false |
Example
canSpawnInLight: false
isSurfaceSpawn
Sets if the custom spawn can only happen at the surface of a world.
| Key | Values | Default |
|---|---|---|
isSurfaceSpawn | Boolean | false |
Example
isSurfaceSpawn: false
isUndergroundSpawn
Sets if the custom spawn can only happen underground.
| Key | Values | Default |
|---|---|---|
isUndergroundSpawn | Boolean | false |
Example
isUndergroundSpawn: false
Spawn Validation Behavior
When EliteMobs attempts to spawn a boss using a Custom Spawn configuration, it performs several automatic validations beyond the configured fields:
- Player Proximity: Bosses will not spawn within 24 blocks of any player
- Nether Ceiling: Spawns above Y=127 are blocked in the Nether dimension
- Block Safety: Ensures spawns occur with solid ground and air space above
- Game Rules: Respects the DO_MOB_SPAWNING game rule setting
- WorldGuard Flags: Checks elite-mob, mob-spawning, and event flags
These validations occur automatically and cannot be disabled through configuration.
