]> git.lizzy.rs Git - minetest.git/blobdiff - src/serverobject.h
Create node metadata when placing nodes again
[minetest.git] / src / serverobject.h
index fd8a51a9e06d716f7145aa2a9439ded617a669eb..94ceb4895c4feb9bee56393dafeaf381c1734eee 100644 (file)
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "irrlichttypes.h"
 #include "activeobject.h"
 #include "utility.h"
+#include "inventorymanager.h"
 
 /*
 
@@ -41,7 +42,7 @@ Some planning
 */
 
 class ServerEnvironment;
-class InventoryItem;
+class ItemStack;
 class Player;
 struct ToolDiggingProperties;
 
@@ -138,19 +139,27 @@ class ServerActiveObject : public ActiveObject
        {}
        virtual void rightClick(ServerActiveObject *clicker)
        {}
-       virtual void getWieldDiggingProperties(ToolDiggingProperties *dst);
-       virtual void damageWieldedItem(u16 amount)
-       {}
-       // If all fits, eats item and returns true. Otherwise returns false.
-       virtual bool addToInventory(InventoryItem *item)
-       { return false; }
-       virtual void addToInventoryLater(InventoryItem *item)
-       {}
        virtual void setHP(s16 hp)
        {}
        virtual s16 getHP()
        { return 0; }
 
+       // Inventory and wielded item
+       virtual Inventory* getInventory()
+       { return NULL; }
+       virtual const Inventory* getInventory() const
+       { return NULL; }
+       virtual InventoryLocation getInventoryLocation() const
+       { return InventoryLocation(); }
+       virtual void setInventoryModified()
+       {}
+       virtual std::string getWieldList() const
+       { return ""; }
+       virtual int getWieldIndex() const
+       { return 0; }
+       virtual ItemStack getWieldedItem() const;
+       virtual bool setWieldedItem(const ItemStack &item);
+
        /*
                Number of players which know about this object. Object won't be
                deleted until this is 0 to keep the id preserved for the right