Customizable Player Spawn

Quick rating

Community listing page, reviews here may not be monitored by the author.

Customizable Player Spawn

No reviews yet

Customizable Player Spawn lets you control where players first appear in the world. It supports .nbt structures, marker-based spawn points, external templates, and direct spawning in another dimension without placing a structure.

Mod Loaders
Minecraft

About

Description

Customizable Player Spawn changes the way players first appear in a world. With this mod, you can choose a custom starting location instead of using the default spawn.

The mod can place a prepared `.nbt` structure and use a marker inside it as the real spawn point. This is useful for starter houses, islands, lobbies, map introductions, and modpacks where the first moments of the game should happen in a specific place.

It can load structures from your mod resources, datapacks, other mods, world files, or external `.nbt` files in the config folder. If you do not want to place any structure, the mod can simply send players to a chosen dimension and create a start position there.

Everything is controlled through the config. You can choose the target dimension, limit the search to specific biomes, adjust the search range, change height and spawn offsets, and set the player rotation. After the spawn position is found, the mod saves it and keeps using the same location for future joins and respawns.

This mod is meant for worlds and modpacks that need a controlled starting experience. If structure placement is enabled, the template must contain a valid marker block or a matching `DATA` marker. If both `structureTemplate` and `externalStructureFile` are empty, the mod switches to spawn mode without a structure.

Suggestions for future development and bug reports can be submitted in the issue tracker: https://github.com/mayorovyf/CustomizablePlayerSpawn/issues

Customizable Player Spawn is a config-driven spawn control mod for Forge, NeoForge and Fabric.

It is made for worlds and modpacks where the first spawn should happen in a prepared place: a starter ruin, house, island, lobby, intro area, or any other .nbt structure. The mod can place that structure, find the real spawn point inside it, save the result, and keep using the same assigned spawn later.

What it can do

  • place structures from mod resources, datapacks, other mods, world files, or loose .nbt files in config/customizableplayerspawn/structures
  • use a marker block, a vanilla DATA structure marker, a relative position, or the structure center as the spawn anchor
  • create one shared spawn for everyone or separate per-player spawn structures
  • choose the target dimension and allowed biomes
  • search by heightmap, by smart surface validation, or by fixed Y level
  • check the structure footprint, dangerous blocks, fluids, tree overlap, and surface height difference
  • clear the placement volume, fill support gaps, refresh lighting, and process markers after placement
  • optionally protect generated spawn structures from blocks, placement, containers, explosions, fire, and fluids

Profiles

The recommended setup is a profile file: config/customizableplayerspawn/profiles/<profile>.toml

Loose structure files go here: config/customizableplayerspawn/structures/<structure>.nbt

Minimal example:

schemaVersion = 2
id = "starter_ruin"
enabled = true
priority = 100
dimension = "minecraft:overworld"
structure = "config:starter_ruin.nbt"

[anchor]
mode = "MARKER_BLOCK"
markerBlock = "customizableplayerspawn:player_spawn_marker"
removeMarkerBlock = true
offsetX = 0
offsetY = 0
offsetZ = 0
angle = 0
fallback = "SAFE_NEARBY"

[placement]
strategy = "FLAT_FOOTPRINT"
surfaceSearchMode = "SMART"
searchRadius = 2048
searchAttempts = 128
maxSurfaceStep = 3
allowFluidsBelow = false
allowReplaceableAtFeet = true
allowReplaceableAtHead = true
forbiddenSurfaceBlocks = ["minecraft:lava", "minecraft:magma_block"]

Issues and suggestions: https://github.com/mayorovyf/CustomizablePlayerSpawn/issues