+ std::string filename;
+
+ std::vector<std::string> *node_names;
+ std::vector<content_t> c_nodes;
+ std::map<std::string, std::string> replacements;
+
+ u32 flags;
+ Rotation rotation;
+ v3s16 size;
+ MapNode *schematic;
+ u8 *slice_probs;
+
+ DecoSchematic();
+ ~DecoSchematic();
+
+ void resolveNodeNames(INodeDefManager *ndef);
+ virtual void generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p);
+ virtual int getHeight();
+ virtual std::string getName();
+
+ void blitToVManip(v3s16 p, ManualMapVoxelManipulator *vm,
+ Rotation rot, bool force_placement);
+
+ bool loadSchematicFile();
+ void saveSchematicFile(INodeDefManager *ndef);
+
+ bool getSchematicFromMap(Map *map, v3s16 p1, v3s16 p2);
+ void placeStructure(Map *map, v3s16 p, bool force_placement);
+ void applyProbabilities(v3s16 p0,
+ std::vector<std::pair<v3s16, u8> > *plist,
+ std::vector<std::pair<s16, u8> > *splist);