/*
Minetest
-Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2013-2015 celeron55, Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2013-2016 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2015-2017 paramat
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef MAPGEN_SINGLENODE_HEADER
-#define MAPGEN_SINGLENODE_HEADER
+#pragma once
#include "mapgen.h"
-struct MapgenSinglenodeParams : public MapgenParams {
-
- MapgenSinglenodeParams() {}
- ~MapgenSinglenodeParams() {}
-
- bool readParams(Settings *settings);
- void writeParams(Settings *settings);
+struct MapgenSinglenodeParams : public MapgenParams
+{
+ MapgenSinglenodeParams() = default;
+ ~MapgenSinglenodeParams() = default;
+
+ void readParams(const Settings *settings) {}
+ void writeParams(Settings *settings) const {}
};
-class MapgenSinglenode : public Mapgen {
+class MapgenSinglenode : public Mapgen
+{
public:
u32 flags;
+ content_t c_node;
+ u8 set_light;
- MapgenSinglenode(int mapgenid, MapgenSinglenodeParams *params);
- ~MapgenSinglenode();
-
- void makeChunk(BlockMakeData *data);
- int getGroundLevelAtPoint(v2s16 p);
-};
+ MapgenSinglenode(int mapgenid, MapgenParams *params, EmergeManager *emerge);
+ ~MapgenSinglenode() = default;
-struct MapgenFactorySinglenode : public MapgenFactory {
- Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) {
- return new MapgenSinglenode(mgid, (MapgenSinglenodeParams *)params);
- };
-
- MapgenParams *createMapgenParams() {
- return new MapgenSinglenodeParams();
- };
-};
+ virtual MapgenType getType() const { return MAPGEN_SINGLENODE; }
-#endif
+ void makeChunk(BlockMakeData *data);
+ int getSpawnLevelAtPoint(v2s16 p);
+};