Module: Spawn - Module ID: spawn

Some mods or plugins may conflict with this module

The highest rating mod/plugin compatibility issue is rated major. See the compatibility tab for more information.

Introduction

The Spawn module controls the player spawn logic on your server.

Setting the spawn point

To set a spawn point on your server, that is, the point where all players will start when entering a world for the first time or respawning after death, use the command /setspawn as a player at the point where you want players to spawn. Nucleus will set the position at your feet and Minecraft will use that point as a future spawn point. Nucleus will also store your player’s rotation and attempt to set the rotation of any player who spawns.

Spawn points are per world, and can be warped to using the /spawn [world] command - if the world is omitted, you will warp to the spawn point of the current world.

First Spawn

Nucleus provides the concept of a “first spawn” point. This allows server owners to have a specific, separate, spawn point for new players. This can be set using the /setfirstspawn command, and warped to using /firstspawn.

It is strongly advised that if you use the first spawn mechanic that you also set the gamemode spawnRadius to 0, that is, run the command /gamerule spawnRadius 0.

Customising player spawning

By default, Nucleus follows Minecraft/Sponge defaults where possible when it comes to spawning, specifically, that respawn after death will happen on the same world, and logging out of a server and subsequently logging in again will keep you in the same place as you were in before.

Nucleus does provide options to change that, however. If you wish for players to return to the spawn point of the world they logged out on when logging in, set spawn-on-login to true. This can then be overriden for selected worlds using the spawn-on-login-exempt-worlds list.

For those who want /spawn to refer to a single spawn point on a specific world, rather than one per world, Nucleus offers the concept of a global-spawn. By specifying a world in global-spawn.target-spawn-world, any of the actions in global-spawn set to true will warp people to the spawn point specified as the target world, rather than the current world.

Bed spawning

By default, Nucleus overrides respawning such that sleeping in a bed does not change a player’s respawn location. If you wish to let players sleep in beds to set their own spawn position, set spawn.affect-bed-spawn to false in main.conf and reload the config. Nucleus will then ignore any event that respawns the player next to their bed.

/spawn per world permissions

The config options per-world-permissions is ordinarily set to false, but if true, this allows fine grain control over the worlds that a specific player can spawn to using the /spawn command.

The following are incompatibilities that may occur with this module, along with how to resolve the problem. For the full mod/plugin incompatibility list, see the compatibility page.

  • Critical issues are where some function of Nucleus is seriously affected in a way server owners are not expecting and have no known workaround, other than removing the plugin in question. It is advised that server owners remove the plugin in question and find an alternative if they wish to use the Nucleus feature it affects.
  • Major issues are where some function of Nucleus is seriously affected in a way server owners are not expecting by default but a workaround exists to mitigate or fix the issue.
  • Minor issues are where some function of Nucleus can be mildy affected, possibly in an unwanted way, but is not enabled by default or has little impact on day to day server running and management. A workaround exists to restore or use the affected Nucleus functionality.
  • Info issues are really non-issues. Incompatibilities with this label tend to be wanted (such as a world management plugin taking over the `/world` command), and are documented here for completeness, along with how to restore or use Nucleus functions.
Mod/Plugin: ProjectWorlds. Affected Module(s): spawn.

Nucleus' First Spawn point may not be honoured for new players when using ProjectWorlds

Major

Reason: By default, ProjectWorlds will override Nucleus' first spawn mechanics.

Resolution: Update to a ProjectWorlds build after 2nd September 2019, and set "options.first_join.enable" to "false".

Mod/Plugin: ProjectWorlds. Affected Module(s): teleport, back, home, warp, spawn.

Cross world teleports, such as those via warping or returning to spawn via command, might be canceled by ProjectWorlds with a no permissions message

Major

Reason: ProjectWorlds has world access permissions that can block cross world teleports.

Resolution: Grant users the ProjectWorlds world access permission, which is "pjw.worlds.<worldname>".

Mod/Plugin: Topography. Affected Module(s): teleport, back, home, warp, spawn.

Topography may block cross-world teleports

Minor

Reason: Topography has the ability to take control of cross-world teleports in non-standard configurations. SkyFactory 4 has some worlds with this option enabled by default, which blocks the Nucleus teleport commands

Resolution: Check topography configuration files for any "captureTeleports" options and remove them.

/firstspawn
Module: spawn
If set, warp to the new player spawn point.

Aliases: firstspawn

Root command aliases: /nfirstspawn

Usage: /firstspawn

Default Role: USER

Basic Command Permission: nucleus.firstspawn.base

Permissions

  • nucleus.firstspawn.exempt.cost - Default Role: ADMIN
    Allows the user to bypass the cost for /firstspawn
  • nucleus.firstspawn.exempt.cooldown - Default Role: ADMIN
    Allows the user to bypass the cooldown for /firstspawn
  • nucleus.firstspawn.exempt.warmup - Default Role: ADMIN
    Allows the user to bypass the warmup for /firstspawn
  • nucleus.firstspawn.base - Default Role: USER
    Allows the user to run the command /firstspawn
/setfirstspawn
Module: spawn
Sets the new player spawn point.

Aliases: setfirstspawn

Root command aliases: /nsetfirstspawn

Usage: /setfirstspawn

Available subcommands: del

Default Role: ADMIN

Basic Command Permission: nucleus.firstspawn.set.base

Permissions

  • nucleus.firstspawn.set.base - Default Role: ADMIN
    Allows the user to run the command /setfirstspawn
/setfirstspawn del
Module: spawn
Removes the new player spawn point.

Aliases: setfirstspawn del setfirstspawn rm

Usage: /setfirstspawn del

Default Role: ADMIN

Basic Command Permission: nucleus.firstspawn.remove.base

Permissions

  • nucleus.firstspawn.remove.base - Default Role: ADMIN
    Allows the user to run the command /setfirstspawn del
/setspawn
Module: spawn
Sets the current world spawn point.

Aliases: setspawn

Root command aliases: /nsetspawn

Usage: /setspawn

Default Role: ADMIN

Basic Command Permission: nucleus.setspawn.base

Permissions

  • nucleus.setspawn.base - Default Role: ADMIN
    Allows the user to run the command /setspawn

This command is an equivalent to the following command(s) in Essentials: /setspawn

/spawn
Module: spawn
Warp to a world spawn point.

If the global spawn world is set in the configuration, then calling /spawn without a world argument will send the calling player to the global spawn point, otherwise, the player will warp to the current world spawn point.

Aliases: spawn

Root command aliases: /nspawn

Usage: /spawn [-f|--force] [<world>]

Available subcommands: other

Default Role: USER

Basic Command Permission: nucleus.spawn.base

Permissions

  • nucleus.spawn.exempt.cost - Default Role: ADMIN
    Allows the user to bypass the cost for /spawn
  • nucleus.spawn.worlds - Default Role: ADMIN
    If set in the main config, this permission will give players access to spawn in all worlds. Adding the name of the lowercase name world as a child of this permission will grant permission for that world only (that is, ending with "worlds.world" for the world "world").
  • nucleus.spawn.otherworlds - Default Role: ADMIN
    Allows the user to go to another world's spawnpoint.
  • nucleus.spawn.force - Default Role: ADMIN
    Allows the user to attempt to force teleportation to spawn.
  • nucleus.spawn.base - Default Role: USER
    Allows the user to run the command /spawn
  • nucleus.spawn.exempt.cooldown - Default Role: ADMIN
    Allows the user to bypass the cooldown for /spawn
  • nucleus.spawn.exempt.warmup - Default Role: ADMIN
    Allows the user to bypass the warmup for /spawn

This command is an equivalent to the following command(s) in Essentials: /spawn

/spawn other
Module: spawn
Warp another player to a world spawn point.

This works in a similar way to the /spawn command, though the command may be used against offline players if the calling entity has permission. If the player is offline, the system will warp them prior to joining the world on next login.

Aliases: spawn other

Usage: /spawn other <subject> [<world>]

Default Role: ADMIN

Basic Command Permission: nucleus.spawn.other.base

Permissions

  • nucleus.spawn.other.offline - Default Role: ADMIN
    Allows the user to send a player to spawn on their next login.
  • nucleus.spawn.other.base - Default Role: ADMIN
    Allows the user to run the command /spawn other
Permission Suggested Role Description
nucleus.firstspawn.base USER Allows the user to run the command /firstspawn
nucleus.firstspawn.exempt.cooldown ADMIN Allows the user to bypass the cooldown for /firstspawn
nucleus.firstspawn.exempt.cost ADMIN Allows the user to bypass the cost for /firstspawn
nucleus.firstspawn.exempt.warmup ADMIN Allows the user to bypass the warmup for /firstspawn
nucleus.firstspawn.remove.base ADMIN Allows the user to run the command /setfirstspawn del
nucleus.firstspawn.set.base ADMIN Allows the user to run the command /setfirstspawn
nucleus.setspawn.base ADMIN Allows the user to run the command /setspawn
nucleus.spawn.base USER Allows the user to run the command /spawn
nucleus.spawn.exempt.cooldown ADMIN Allows the user to bypass the cooldown for /spawn
nucleus.spawn.exempt.cost ADMIN Allows the user to bypass the cost for /spawn
nucleus.spawn.exempt.login ADMIN If granted, and the configuration is set to send players to spawn on login, this permission will prevent the player from going to spawn on login.
nucleus.spawn.exempt.warmup ADMIN Allows the user to bypass the warmup for /spawn
nucleus.spawn.force ADMIN Allows the user to attempt to force teleportation to spawn.
nucleus.spawn.other.base ADMIN Allows the user to run the command /spawn other
nucleus.spawn.other.offline ADMIN Allows the user to send a player to spawn on their next login.
nucleus.spawn.otherworlds ADMIN Allows the user to go to another world's spawnpoint.
nucleus.spawn.worlds ADMIN If set in the main config, this permission will give players access to spawn in all worlds. Adding the name of the lowercase name world as a child of this permission will grant permission for that world only (that is, ending with "worlds.world" for the world "world").
The following configuration is the default for this module:
# If true, if a respawn would be back to a bed, Nucleus will override that, if false, Nucleus will ignore bed spawns.
affect-bed-spawn=true
# If true, then Nucleus will attempt to force players joining for the first time to spawn at the *direct point* that first spawn has been set.
# Only set this if you want Nucleus to override all other plugins on first spawn.
force-first-spawn=false
# This section controls whether respawning and /spawn work on a per world or global server basis
global-spawn {
    # If "spawn-on-login" is on and this is true, sends the player to the world specified in "target-spawn-world" when they log in.
    on-login=false
    # If true, respawning (like from death) sends the player to the world specified in "target-spawn-world", if false, sends them to the world spawn.
    on-respawn=false
    # If true, running /spawn sends the player to the world specified in "target-spawn-world", if false, sends them to the world spawn.
    on-spawn-command=false
    # The name of the world to use as the server spawn. If this is invalid, the default world is used instead.
    target-spawn-world=world
}
# If true, players require the permission "nucleus.spawn.worlds.<worldname>" to spawn in a specific world, where worldname is the name of the world in lowercase.
per-world-permissions=false
# If true, players will be sent to the default world spawn on login, unless they are sent to the first login spawn, or they have the "nucleus.spawn.exempt.login" permission.
spawn-on-login=false
# If "spawn-on-login" is true, if a player logs in and is on any of the worlds listed here, they will NOT be redirected to the spawn point.
# 
# This supports both world names and world UUIDs.
spawn-on-login-exempt-worlds=[]
# If true, using /spawn will attempt to find a safe place. If false, the teleportation will always directly send the player to the location with no safety checks.
use-safe-spawn=true