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:655
u32 getSize() const
Definition inventory.h:177
bool containsItem(const ItemStack &item, bool match_meta) const
Definition inventory.cpp:776
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:700
std::vector< ItemStack > m_items
Definition inventory.h:267
void checkResizeLock()
Definition inventory.cpp:893
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:557
void setWidth(u32 newWidth)
Definition inventory.cpp:551
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:585
u32 getUsedSlots() const
Definition inventory.cpp:670
InventoryList(const std::string &name, u32 size, IItemDefManager *itemdef)
Definition inventory.cpp:519
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:849
ItemStack changeItem(u32 i, const ItemStack &newitem)
Definition inventory.cpp:680
ResizeLocked resizeLock()
Definition inventory.h:260
ItemStack removeItem(const ItemStack &item, bool match_meta)
Definition inventory.cpp:795
void setModified(bool dirty=true)
Definition inventory.h:246
void setSize(u32 newsize)
Definition inventory.cpp:538
InventoryList & operator=(const InventoryList &other)
Definition inventory.cpp:641
void clearItems()
Definition inventory.cpp:527
void serialize(std::ostream &os, bool incremental) const
Definition inventory.cpp:563
void deleteItem(u32 i)
Definition inventory.cpp:693
const std::string & getName() const
Definition inventory.h:176
bool roomForItem(const ItemStack &item) const
Definition inventory.cpp:763
u32 m_width
Definition inventory.h:270
ItemStack takeItem(u32 i, u32 takecount)
Definition inventory.cpp:815
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:750
void moveItemSomewhere(u32 i, InventoryList *dest, u32 count)
Definition inventory.cpp:826
ItemStack addItem(const std::string &listname, const ItemStack &newitem)
Definition inventory.h:303
void clear()
Definition inventory.cpp:911
Inventory(IItemDefManager *itemdef)
Definition inventory.cpp:926
InventoryList * getList(const std::string &name)
Definition inventory.cpp:1079
bool deleteList(const std::string &name)
Definition inventory.cpp:1087
InventoryList * addList(const std::string &name, u32 size)
Definition inventory.cpp:1053
bool operator==(const Inventory &other) const
Definition inventory.cpp:952
bool checkModified() const
Definition inventory.h:311
IItemDefManager * m_itemdef
Definition inventory.h:337
~Inventory()
Definition inventory.cpp:906
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:1109
void serialize(std::ostream &os, bool incremental=false) const
Definition inventory.cpp:965
bool m_dirty
Definition inventory.h:338
void deSerialize(std::istream &is)
Definition inventory.cpp:980
Inventory & operator=(const Inventory &other)
Definition inventory.cpp:937
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:504
void clear()
Definition inventory.h:56
ItemStack takeItem(u32 takecount)
Definition inventory.cpp:484
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:272
ItemImageDef getInventoryImage(const IItemDefManager *itemdef) const
Definition inventory.cpp:286
bool addWear(s32 amount, const IItemDefManager *itemdef)
Definition inventory.cpp:386
std::string getItemString(bool include_meta=true) const
Definition inventory.cpp:257
bool isKnown(const IItemDefManager *itemdef) const
Definition inventory.cpp:338
bool itemFits(ItemStack newitem, ItemStack *restitem, IItemDefManager *itemdef) const
Definition inventory.cpp:438
const ItemDefinition & getDefinition(const IItemDefManager *itemdef) const
Definition inventory.cpp:343
std::string getDescription(const IItemDefManager *itemdef) const
Definition inventory.cpp:264
ItemStackMetadata metadata
Definition inventory.h:153
const ToolCapabilities & getToolCapabilities(const IItemDefManager *itemdef, const ItemStack *hand=nullptr) const
Definition inventory.cpp:349
ItemImageDef getWieldOverlay(const IItemDefManager *itemdef) const
Definition inventory.cpp:316
bool empty() const
Definition inventory.h:51
ItemImageDef getWieldImage(const IItemDefManager *itemdef) const
Definition inventory.cpp:306
std::string name
Definition inventory.h:150
bool stacksWith(const ItemStack &other) const
Definition inventory.cpp:477
u16 getStackMax(const IItemDefManager *itemdef) const
Definition inventory.cpp:333
u16 wear
Definition inventory.h:152
ItemImageDef getInventoryOverlay(const IItemDefManager *itemdef) const
Definition inventory.cpp:296
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:377
v3f getWieldScale(const IItemDefManager *itemdef) const
Definition inventory.cpp:326
void remove(u16 n)
Definition inventory.h:69
ItemStack addItem(ItemStack newitem, IItemDefManager *itemdef)
Definition inventory.cpp:401