Kelsidavis-WoWee/tools/editor/server_module_gen.hpp
Kelsi cceff622b4 feat(editor): AzerothCore server module generator
One-click generation of a complete AzerothCore/TrinityCore server module
from editor zone data. File > Generate Server Module creates:

- sql/01_map.sql: map_dbc + area_table_dbc registration
- sql/02_spawns.sql: creature_template + creature + waypoint_data + quests
- sql/03_teleport.sql: game_tele entry for .tele command
- sql/04_zone_flags.sql: sanctuary/PvP area flags
- conf/mod_wowee.conf.dist: worldserver.conf snippet with zone settings
- README.md: step-by-step server admin installation guide
- module.json: machine-readable module manifest

Server admins can import the SQL files, add the config snippet, and
restart their server to have the custom zone fully operational with
NPC spawns, patrol paths, quests, teleport commands, and zone flags.
2026-05-05 16:31:13 -07:00

34 lines
967 B
C++

#pragma once
#include "zone_manifest.hpp"
#include "npc_spawner.hpp"
#include "quest_editor.hpp"
#include <string>
#include <vector>
namespace wowee {
namespace editor {
// Generates a complete AzerothCore server module from editor zone data
// Output: SQL + worldserver.conf snippet + README for server admins
class ServerModuleGenerator {
public:
struct Config {
uint32_t mapId = 9000;
uint32_t startCreatureEntry = 100000;
uint32_t startQuestEntry = 100000;
uint32_t zoneId = 10000;
uint32_t areaId = 10001;
std::string mapName;
std::string displayName;
};
// Generate complete server module directory
static bool generate(const ZoneManifest& manifest,
const std::vector<CreatureSpawn>& creatures,
const std::vector<Quest>& quests,
const std::string& outputDir);
};
} // namespace editor
} // namespace wowee