def init_scoreboard(self):
        '''
        Creates a scoreboard for the world
        
        :return: A scoreboard
        :rtype: pymclevel.nbt.TAG_Compound()
        '''
        if os.path.exists(self.worldFolder.getFolderPath("data")):
                if os.path.exists(self.worldFolder.getFolderPath("data")+"/scoreboard.dat"):
                    return nbt.load(self.worldFolder.getFolderPath("data")+"/scoreboard.dat")
                else:
                    root_tag = nbt.TAG_Compound()
                    root_tag["data"] = nbt.TAG_Compound()
                    root_tag["data"]["Objectives"] = nbt.TAG_List()
                    root_tag["data"]["PlayerScores"] = nbt.TAG_List()
                    root_tag["data"]["Teams"] = nbt.TAG_List()
                    root_tag["data"]["DisplaySlots"] = nbt.TAG_List()
                    self.save_scoreboard(root_tag)
                    return root_tag
        else:
            self.worldFolder.getFolderPath("data")
            root_tag = nbt.TAG_Compound()
            root_tag["data"] = nbt.TAG_Compound()
            root_tag["data"]["Objectives"] = nbt.TAG_List()
            root_tag["data"]["PlayerScores"] = nbt.TAG_List()
            root_tag["data"]["Teams"] = nbt.TAG_List()
            root_tag["data"]["DisplaySlots"] = nbt.TAG_List()
            self.save_scoreboard(root_tag)
            return root_tag

        Creates a scoreboard for the world
        
        :return: A scoreboard
        :rtype: pymclevel.nbt.TAG_Compound()
        
pymclevel/infiniteworld.py