]> git.lizzy.rs Git - minetest.git/blobdiff - src/serverobject.h
Fix and tune stars
[minetest.git] / src / serverobject.h
index fd8a51a9e06d716f7145aa2a9439ded617a669eb..15bbe52f7bbf8e132d2e3497ff3868c434eb4564 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,9 +42,9 @@ Some planning
 */
 
 class ServerEnvironment;
-class InventoryItem;
+struct ItemStack;
 class Player;
-struct ToolDiggingProperties;
+struct ToolCapabilities;
 
 class ServerActiveObject : public ActiveObject
 {
@@ -132,25 +133,35 @@ class ServerActiveObject : public ActiveObject
        virtual bool isStaticAllowed() const
        {return true;}
        
-       // time_from_last_punch is used for lessening damage if punching fast
-       virtual void punch(ServerActiveObject *puncher,
+       // Returns tool wear
+       virtual int punch(v3f dir,
+                       const ToolCapabilities *toolcap=NULL,
+                       ServerActiveObject *puncher=NULL,
                        float time_from_last_punch=1000000)
-       {}
+       { return 0; }
        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