aboutsummaryrefslogtreecommitdiff
path: root/src/serverobject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/serverobject.h')
-rw-r--r--src/serverobject.h27
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