Esempio n. 1
0
void Map::initMap()
{
#ifdef MSDBG
  printf("initMap()\n");
#endif

  this->mapDirectory = Conf::get().sValue("mapdir");
  if(this->mapDirectory == "Not found!")
  {
    std::cout << "Error, mapdir not defined!" << std::endl;
    exit(EXIT_FAILURE);
  }

  std::string infile = mapDirectory+"/level.dat";

  struct stat stFileInfo;
  if(stat(infile.c_str(), &stFileInfo) != 0)
  {
    std::cout << "Error, map not found!" << std::endl;
    exit(EXIT_FAILURE);
  }

  NBT_Value *root = NBT_Value::LoadFromFile(infile);

  NBT_Value &data = *((*root)["Data"]);

  spawnPos.x() = (sint32)*data["SpawnX"];
  spawnPos.y() = (sint32)*data["SpawnY"];
  spawnPos.z() = (sint32)*data["SpawnZ"];


  root->SaveToFile("test.nbt");

  delete root;

  std::cout << "Spawn: (" << spawnPos.x() << "," << spawnPos.y() << "," << spawnPos.z() << ")"<<
  std::endl;
}