Modding:Basic Inventory Handling: Difference between revisions

From Vintage Story Wiki
m
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{GameVersion112}}
{{GameVersion|1.12}}


== Overview ==
== Overview ==
Line 40: Line 40:
</syntaxhighlight>
</syntaxhighlight>


If you need access to other inventories like e.g. the backpack inventories, you can use the <code>InventoryManager.Inventories</code> Property. This contains a dictionary with the name of the inventory (for example "hotbar-APlayerUID") and the corresponding inventory. Another cleaner looking way if you only need a single inventory would be the <code>InventoryManager.GetOwnInventory()</code> method. Also note that most of the string names are already in <code>GlobalConstants</code>.
If you need access to other inventories like e.g. the backpack inventories, you can use the <code>InventoryManager.Inventories</code> Property. This contains a dictionary with the name of the inventory (for example "hotbar-APlayerUID") and the corresponding inventory. Another cleaner looking way if you only need a single inventory would be the <code>InventoryManager.GetOwnInventory()</code> method, which appends the player uid to the classname and returns the inventory. To avoid errors when typing the classnames, check first if the classname is already in the <code>GlobalConstants</code>.


Because backpack inventory contains the bags as well as the slots, you have to check if it is valid to put the item there. For this you can use the <code>ItemSlot.CanHold()</code> method.
Because backpack inventory contains the bags as well as the slots, you have to check if it is valid to put the item there. For this you can use the <code>ItemSlot.CanHold()</code> method.
Confirmedusers, Bureaucrats, editor, Administrators
1,522

edits