diff options
Diffstat (limited to 'src/serverobject.h')
-rw-r--r-- | src/serverobject.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/serverobject.h b/src/serverobject.h index fd8a51a9e..94ceb4895 100644 --- a/src/serverobject.h +++ b/src/serverobject.h @@ -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 @@ public: {} 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 |