mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-15 09:25:37 +02:00
Mapgen: Refactor mapgen creation and management
- Move mapgen creation logic out of EmergeManager and into Mapgen - Internally represent mapgen type as an enum value, instead of a string - Remove the need for a MapgenFactory per mapgen
This commit is contained in:
@@ -127,6 +127,8 @@ public:
|
||||
MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge);
|
||||
~MapgenV6();
|
||||
|
||||
virtual MapgenType getType() const { return MAPGEN_V6; }
|
||||
|
||||
void makeChunk(BlockMakeData *data);
|
||||
int getGroundLevelAtPoint(v2s16 p);
|
||||
int getSpawnLevelAtPoint(v2s16 p);
|
||||
@@ -162,18 +164,4 @@ public:
|
||||
virtual void generateCaves(int max_stone_y);
|
||||
};
|
||||
|
||||
|
||||
struct MapgenFactoryV6 : public MapgenFactory {
|
||||
Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge)
|
||||
{
|
||||
return new MapgenV6(mgid, params, emerge);
|
||||
};
|
||||
|
||||
MapgenSpecificParams *createMapgenParams()
|
||||
{
|
||||
return new MapgenV6Params();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user