When calling getBedSpawnLocation on an instance of CraftOfflinePlayer the world was incorrect due to the logic for reading the NBT not being up-to-date.