]> git.lizzy.rs Git - minetest.git/blobdiff - src/inventory.h
Add '/clearobjects quick'
[minetest.git] / src / inventory.h
index e4a97e1d37353f79f98b7eb5481be60c93cd49ca..a690eb5ae29d825b4635888d23d1a0aa407fb738 100644 (file)
@@ -71,7 +71,7 @@ struct ItemStack
 
        void remove(u16 n)
        {
-               assert(count >= n);
+               assert(count >= n); // Pre-condition
                count -= n;
                if(count == 0)
                        clear(); // reset name, wear and metadata too
@@ -244,7 +244,13 @@ class InventoryList
 
        // Move an item to a different list (or a different stack in the same list)
        // count is the maximum number of items to move (0 for everything)
-       void moveItem(u32 i, InventoryList *dest, u32 dest_i, u32 count = 0);
+       // returns number of moved items
+       u32 moveItem(u32 i, InventoryList *dest, u32 dest_i,
+               u32 count = 0, bool swap_if_needed = true, bool *did_swap = NULL);
+
+       // like moveItem, but without a fixed destination index
+       // also with optional rollback recording
+       void moveItemSomewhere(u32 i, InventoryList *dest, u32 count);
 
 private:
        std::vector<ItemStack> m_items;