Falling sand and gravel
[oweals/minetest.git] / src / content_nodemeta.h
index e20334312fd8a12d1a1a1cc5b8efe1c183f0d1ff..86df882ea697e5b7460d0c11d8272c092abe4aa8 100644 (file)
@@ -27,17 +27,18 @@ class Inventory;
 class SignNodeMetadata : public NodeMetadata
 {
 public:
-       SignNodeMetadata(std::string text);
+       SignNodeMetadata(IGameDef *gamedef, std::string text);
        //~SignNodeMetadata();
        
        virtual u16 typeId() const;
-       static NodeMetadata* create(std::istream &is);
-       virtual NodeMetadata* clone();
+       static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+       virtual NodeMetadata* clone(IGameDef *gamedef);
        virtual void serializeBody(std::ostream &os);
        virtual std::string infoText();
 
-       std::string getText(){ return m_text; }
-       void setText(std::string t){ m_text = t; }
+       virtual bool allowsTextInput(){ return true; }
+       virtual std::string getText(){ return m_text; }
+       virtual void setText(const std::string &t){ m_text = t; }
 
 private:
        std::string m_text;
@@ -46,12 +47,12 @@ private:
 class ChestNodeMetadata : public NodeMetadata
 {
 public:
-       ChestNodeMetadata();
+       ChestNodeMetadata(IGameDef *gamedef);
        ~ChestNodeMetadata();
        
        virtual u16 typeId() const;
-       static NodeMetadata* create(std::istream &is);
-       virtual NodeMetadata* clone();
+       static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+       virtual NodeMetadata* clone(IGameDef *gamedef);
        virtual void serializeBody(std::ostream &os);
        virtual std::string infoText();
        virtual Inventory* getInventory() {return m_inventory;}
@@ -65,12 +66,12 @@ private:
 class LockingChestNodeMetadata : public NodeMetadata
 {
 public:
-       LockingChestNodeMetadata();
+       LockingChestNodeMetadata(IGameDef *gamedef);
        ~LockingChestNodeMetadata();
 
        virtual u16 typeId() const;
-       static NodeMetadata* create(std::istream &is);
-       virtual NodeMetadata* clone();
+       static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
+       virtual NodeMetadata* clone(IGameDef *gamedef);
        virtual void serializeBody(std::ostream &os);
        virtual std::string infoText();
        virtual Inventory* getInventory() {return m_inventory;}
@@ -88,12 +89,12 @@ private:
 class FurnaceNodeMetadata : public NodeMetadata
 {
 public:
-       FurnaceNodeMetadata();
+       FurnaceNodeMetadata(IGameDef *gamedef);
        ~FurnaceNodeMetadata();
        
        virtual u16 typeId() const;
-       virtual NodeMetadata* clone();
-       static NodeMetadata* create(std::istream &is);
+       virtual NodeMetadata* clone(IGameDef *gamedef);
+       static NodeMetadata* create(std::istream &is, IGameDef *gamedef);
        virtual void serializeBody(std::ostream &os);
        virtual std::string infoText();
        virtual Inventory* getInventory() {return m_inventory;}