- INodeDefManager *ndef;
-
- std::map<std::string, MapgenFactory *> mglist;
-
- std::vector<Mapgen *> mapgen;
- std::vector<EmergeThread *> emergethread;
-
- //settings
- MapgenParams *params;
- bool mapgen_debug_info;
- u16 qlimit_total;
- u16 qlimit_diskonly;
- u16 qlimit_generate;
-
- MapgenParams *luaoverride_params;
- u32 luaoverride_params_modified;
- u32 luaoverride_flagmask;
-
- //block emerge queue data structures
- JMutex queuemutex;
- std::map<v3s16, BlockEmergeData *> blocks_enqueued;
- std::map<u16, u16> peer_queue_count;
-
- //Mapgen-related structures
- BiomeDefManager *biomedef;
- std::vector<Ore *> ores;
- std::vector<Decoration *> decorations;
-
- EmergeManager(IGameDef *gamedef);
+ const NodeDefManager *ndef;
+ bool enable_mapgen_debug_info;
+
+ // Generation Notify
+ u32 gen_notify_on = 0;
+ std::set<u32> gen_notify_on_deco_ids;
+
+ // Parameters passed to mapgens owned by ServerMap
+ // TODO(hmmmm): Remove this after mapgen helper methods using them
+ // are moved to ServerMap
+ MapgenParams *mgparams;
+
+ // Hackish workaround:
+ // For now, EmergeManager must hold onto a ptr to the Map's setting manager
+ // since the Map can only be accessed through the Environment, and the
+ // Environment is not created until after script initialization.
+ MapSettingsManager *map_settings_mgr;
+
+ // Managers of various map generation-related components
+ BiomeManager *biomemgr;
+ OreManager *oremgr;
+ DecorationManager *decomgr;
+ SchematicManager *schemmgr;
+
+ // Methods
+ EmergeManager(Server *server);