24 ItemStack(
const std::string &name_, u16 count_,
30 void serialize(std::ostream &os,
bool serialize_meta =
true)
const;
137 this->count == s.
count &&
138 this->wear == s.
wear &&
144 return !(*
this == s);
164 void setName(
const std::string &name);
165 void serialize(std::ostream &os,
bool incremental)
const;
173 return !(*
this == other);
239 u32 count = 0,
bool swap_if_needed =
true,
bool *did_swap = NULL);
289 return !(*
this == other);
293 void serialize(std::ostream &os,
bool incremental =
false)
const;
316 for (
const auto &list :
m_lists)
317 if (list->checkModified())
328 for (
const auto &list :
m_lists)
329 list->setModified(dirty);
Definition inventory.h:157
bool operator==(const InventoryList &other) const
Definition inventory.cpp:627
u32 getSize() const
Definition inventory.h:177
bool containsItem(const ItemStack &item, bool match_meta) const
Definition inventory.cpp:748
const ItemStack & getItem(u32 i) const
Definition inventory.h:183
const std::vector< ItemStack > & getItems() const
Definition inventory.h:194
ItemStack addItem(const ItemStack &newitem)
Definition inventory.cpp:672
std::vector< ItemStack > m_items
Definition inventory.h:267
void checkResizeLock()
Definition inventory.cpp:865
bool operator!=(const InventoryList &other) const
Definition inventory.h:171
IItemDefManager * m_itemdef
Definition inventory.h:271
InventoryList(const InventoryList &other)
Definition inventory.h:168
int m_resize_locks
Definition inventory.h:273
bool m_dirty
Definition inventory.h:272
void setName(const std::string &name)
Definition inventory.cpp:529
void setWidth(u32 newWidth)
Definition inventory.cpp:523
bool checkModified() const
Definition inventory.h:245
std::string m_name
Definition inventory.h:268
u32 m_size
Definition inventory.h:269
void deSerialize(std::istream &is)
Definition inventory.cpp:557
u32 getUsedSlots() const
Definition inventory.cpp:642
InventoryList(const std::string &name, u32 size, IItemDefManager *itemdef)
Definition inventory.cpp:491
u32 getWidth() const
Definition inventory.h:178
ItemStack & getItem(u32 i)
Definition inventory.h:188
ItemStack moveItem(u32 i, InventoryList *dest, u32 dest_i, u32 count=0, bool swap_if_needed=true, bool *did_swap=NULL)
Definition inventory.cpp:821
ItemStack changeItem(u32 i, const ItemStack &newitem)
Definition inventory.cpp:652
ResizeLocked resizeLock()
Definition inventory.h:260
ItemStack removeItem(const ItemStack &item, bool match_meta)
Definition inventory.cpp:767
void setModified(bool dirty=true)
Definition inventory.h:246
void setSize(u32 newsize)
Definition inventory.cpp:510
InventoryList & operator=(const InventoryList &other)
Definition inventory.cpp:613
void clearItems()
Definition inventory.cpp:499
void serialize(std::ostream &os, bool incremental) const
Definition inventory.cpp:535
void deleteItem(u32 i)
Definition inventory.cpp:665
const std::string & getName() const
Definition inventory.h:176
bool roomForItem(const ItemStack &item) const
Definition inventory.cpp:735
u32 m_width
Definition inventory.h:270
ItemStack takeItem(u32 i, u32 takecount)
Definition inventory.cpp:787
std::unique_ptr< InventoryList, ResizeUnlocker > ResizeLocked
Definition inventory.h:256
bool itemFits(const u32 i, const ItemStack &newitem, ItemStack *restitem=NULL) const
Definition inventory.cpp:722
void moveItemSomewhere(u32 i, InventoryList *dest, u32 count)
Definition inventory.cpp:798
Definition inventory.h:277
ItemStack addItem(const std::string &listname, const ItemStack &newitem)
Definition inventory.h:303
void clear()
Definition inventory.cpp:883
Inventory(IItemDefManager *itemdef)
Definition inventory.cpp:898
InventoryList * getList(const std::string &name)
Definition inventory.cpp:1051
bool deleteList(const std::string &name)
Definition inventory.cpp:1059
InventoryList * addList(const std::string &name, u32 size)
Definition inventory.cpp:1025
bool operator==(const Inventory &other) const
Definition inventory.cpp:924
bool checkModified() const
Definition inventory.h:311
IItemDefManager * m_itemdef
Definition inventory.h:337
~Inventory()
Definition inventory.cpp:878
const std::vector< InventoryList * > & getLists() const
Definition inventory.h:300
void setModified(bool dirty=true)
Definition inventory.h:323
s32 getListIndex(const std::string &name) const
Definition inventory.cpp:1081
void serialize(std::ostream &os, bool incremental=false) const
Definition inventory.cpp:937
bool m_dirty
Definition inventory.h:338
void deSerialize(std::istream &is)
Definition inventory.cpp:952
Inventory & operator=(const Inventory &other)
Definition inventory.cpp:909
std::vector< InventoryList * > m_lists
Definition inventory.h:336
bool operator!=(const Inventory &other) const
Definition inventory.h:287
core::vector3df v3f
Definition irr_v3d.h:11
Definition inventory.h:250
void operator()(InventoryList *invlist)
Definition inventory.h:251
Definition inventory.h:21
void add(u16 n)
Definition inventory.h:64
u16 freeSpace(const IItemDefManager *itemdef) const
Definition inventory.h:81
u16 count
Definition inventory.h:151
ItemStack peekItem(u32 peekcount) const
Definition inventory.cpp:476
void clear()
Definition inventory.h:56
ItemStack takeItem(u32 takecount)
Definition inventory.cpp:456
bool operator!=(const ItemStack &s) const
Definition inventory.h:142
void serialize(std::ostream &os, bool serialize_meta=true) const
Definition inventory.cpp:42
std::string getShortDescription(const IItemDefManager *itemdef) const
Definition inventory.cpp:244
ItemImageDef getInventoryImage(const IItemDefManager *itemdef) const
Definition inventory.cpp:258
bool addWear(s32 amount, const IItemDefManager *itemdef)
Definition inventory.cpp:358
std::string getItemString(bool include_meta=true) const
Definition inventory.cpp:229
bool isKnown(const IItemDefManager *itemdef) const
Definition inventory.cpp:310
bool itemFits(ItemStack newitem, ItemStack *restitem, IItemDefManager *itemdef) const
Definition inventory.cpp:410
const ItemDefinition & getDefinition(const IItemDefManager *itemdef) const
Definition inventory.cpp:315
std::string getDescription(const IItemDefManager *itemdef) const
Definition inventory.cpp:236
ItemStackMetadata metadata
Definition inventory.h:153
const ToolCapabilities & getToolCapabilities(const IItemDefManager *itemdef, const ItemStack *hand=nullptr) const
Definition inventory.cpp:321
ItemImageDef getWieldOverlay(const IItemDefManager *itemdef) const
Definition inventory.cpp:288
bool empty() const
Definition inventory.h:51
ItemImageDef getWieldImage(const IItemDefManager *itemdef) const
Definition inventory.cpp:278
std::string name
Definition inventory.h:150
bool stacksWith(const ItemStack &other) const
Definition inventory.cpp:449
u16 getStackMax(const IItemDefManager *itemdef) const
Definition inventory.cpp:305
u16 wear
Definition inventory.h:152
ItemImageDef getInventoryOverlay(const IItemDefManager *itemdef) const
Definition inventory.cpp:268
void deSerialize(std::istream &is, IItemDefManager *itemdef=NULL)
Definition inventory.cpp:70
bool operator==(const ItemStack &s) const
Definition inventory.h:134
const std::optional< WearBarParams > & getWearBarParams(const IItemDefManager *itemdef) const
Definition inventory.cpp:349
v3f getWieldScale(const IItemDefManager *itemdef) const
Definition inventory.cpp:298
void remove(u16 n)
Definition inventory.h:69
ItemStack addItem(ItemStack newitem, IItemDefManager *itemdef)
Definition inventory.cpp:373