From b67f37f27ea7d89b2098fa9fcc2533fa1091e695 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Wed, 17 Dec 2014 03:20:17 -0500 Subject: Redefine NodeResolver interface and replace with callback mechanism --- src/mg_decoration.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/mg_decoration.h') diff --git a/src/mg_decoration.h b/src/mg_decoration.h index dffb524f3..910f1a581 100644 --- a/src/mg_decoration.h +++ b/src/mg_decoration.h @@ -58,7 +58,7 @@ struct CutoffData { }; #endif -class Decoration : public GenElement { +class Decoration : public GenElement, public NodeResolver { public: INodeDefManager *ndef; @@ -76,12 +76,13 @@ public: Decoration(); virtual ~Decoration(); + virtual void resolveNodeNames(NodeResolveInfo *nri); + size_t placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); size_t placeCutoffs(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p) = 0; virtual int getHeight() = 0; - virtual void dropResolverEntries(NodeResolver *resolver) {} }; class DecoSimple : public Decoration { @@ -92,12 +93,11 @@ public: s16 deco_height_max; s16 nspawnby; - ~DecoSimple() {} + virtual void resolveNodeNames(NodeResolveInfo *nri); bool canPlaceDecoration(ManualMapVoxelManipulator *vm, v3s16 p); virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p); virtual int getHeight(); - virtual void dropResolverEntries(NodeResolver *resolver); }; class DecoSchematic : public Decoration { @@ -106,8 +106,6 @@ public: Schematic *schematic; std::string filename; - ~DecoSchematic() {} - virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p); virtual int getHeight(); }; -- cgit v1.2.3