I have seen in the map Deja Vu (played by CaptainSparklez) that the map creator was able to mess around with the spawn and allow the player to spawn in a different area, but where the creator wanted him to respawn at. Can someone please explain this? Thanks:)
This is quite hard to explain -- I have only a very rough idea after some exploration of the original map. It relates to the spawning mechanism in single player mode before 1.3 and I believe that the line "...a player will spawn at the first suitable position above sea level at this location..." on Wiki best describes it.
If I understand correctly, a spawnable position is search in the column containing the spawn point (i.e. searching in the y-coordinate with x and z fixed at those of the spawn point) every time a player is being spawned (not the respawn next to a bed, but the original spawn location). If the original spawn is somehow filled with blocks which makes it non-spawnable, then the search is continue upwards(?) "above sea level" until a spawnable position (air on top of a spawnable block?) is found.
If you download the Deja Vu map and explore it in Creative or using /noclip, you will notice a tower structure (iron blocks) responsible for the spawning position in each story line (office, farm, hell, etc.), or each "layer", with sticky pistons and restone circuit around. You can notice that the pistons in each layer are in the "on" state so that all four iron blocks are pushed into the spawning "chamber", except the one connected to the office, which is the first story line every player starts with.
I have set up a similar tower structure in a test world (hope it works and helps ):
The spawn point should be at (x, z) = (0, 0) on top of the gold block, if nothing is messed up...
The levers, when flipped down, determine which "floor" (indicated by wool blocks of different colors) contains air instead of iron blocks (thus available for spawn). You can spawn by killing yourself in the lava pit, or just use /home in Single Player Commands.
There are some more interesting things to explore:
- The wiki says "If there is no such position (i.e. the column is completely full of blocks), the x and z coordinates will be perturbed by small amounts until a position is found." What happens when the column is filled upto the sky cap? Does the spawn really get perturbed by, say, 1 or 2 blocks, in the x/z direction, or the player can actually get spawn with feet standing on the block just below the sky cap?
- What happens when the tower is extended underground? Is the spawning position only found by moving upwards from the sea level, but not downwards?