In a new plugin I am working on which is contains a ChunkGenerator, I have set the spawn location to exact coords :
public Location getFixedSpawnLocation(World world, Random random) {
return new Location(world, 8, 65, 8);
}
But new players spawn on top of the world and in a different location instead of these exact coords. I think it uses vanilla spawn location for first spawn, which forces players on top of the world. When players die, they do spawn at that location. New players should spawn where the fixed spawn location is set.