diff options
Diffstat (limited to 'src/nodemetadata.h')
-rw-r--r-- | src/nodemetadata.h | 67 |
1 files changed, 3 insertions, 64 deletions
diff --git a/src/nodemetadata.h b/src/nodemetadata.h index ae02cfc3c..de682f9b6 100644 --- a/src/nodemetadata.h +++ b/src/nodemetadata.h @@ -62,6 +62,9 @@ public: // A step in time. Returns true if metadata changed. virtual bool step(float dtime) {return false;} virtual bool nodeRemovalDisabled(){return false;} + // Used to make custom inventory menus. + // See format in guiInventoryMenu.cpp. + virtual std::string getInventoryDrawSpecString(){return "";} protected: static void registerType(u16 id, Factory f); @@ -69,74 +72,10 @@ private: static core::map<u16, Factory> m_types; }; -class SignNodeMetadata : public NodeMetadata -{ -public: - SignNodeMetadata(std::string text); - //~SignNodeMetadata(); - - virtual u16 typeId() const; - static NodeMetadata* create(std::istream &is); - virtual NodeMetadata* clone(); - virtual void serializeBody(std::ostream &os); - virtual std::string infoText(); - - std::string getText(){ return m_text; } - void setText(std::string t){ m_text = t; } - -private: - std::string m_text; -}; - -class ChestNodeMetadata : public NodeMetadata -{ -public: - ChestNodeMetadata(); - ~ChestNodeMetadata(); - - virtual u16 typeId() const; - static NodeMetadata* create(std::istream &is); - virtual NodeMetadata* clone(); - virtual void serializeBody(std::ostream &os); - virtual std::string infoText(); - virtual Inventory* getInventory() {return m_inventory;} - - virtual bool nodeRemovalDisabled(); - -private: - Inventory *m_inventory; -}; - -class FurnaceNodeMetadata : public NodeMetadata -{ -public: - FurnaceNodeMetadata(); - ~FurnaceNodeMetadata(); - - virtual u16 typeId() const; - virtual NodeMetadata* clone(); - static NodeMetadata* create(std::istream &is); - virtual void serializeBody(std::ostream &os); - virtual std::string infoText(); - virtual Inventory* getInventory() {return m_inventory;} - virtual void inventoryModified(); - virtual bool step(float dtime); - -private: - Inventory *m_inventory; - float m_step_accumulator; - float m_fuel_totaltime; - float m_fuel_time; - float m_src_totaltime; - float m_src_time; -}; - /* List of metadata of all the nodes of a block */ -class InventoryManager; - class NodeMetadataList { public: |