Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
component:inventory_controller [2015/01/14 23:40]
127.0.0.1 external edit
component:inventory_controller [2021/05/31 17:40] (current)
hunter3216
Line 12: Line 12:
  
 - `getInventorySize(side:​ number): number or nil[, string]`  ​ - `getInventorySize(side:​ number): number or nil[, string]`  ​
-Returns the size of the inventory at the specified side.  +Returns the size of the inventory at the specified side.
 **side** - must be a valid side.  ​ **side** - must be a valid side.  ​
 **Returns:​** the size of the inventory, or `nil` followed by a description why this function failed (usually `no inventory`). **Returns:​** the size of the inventory, or `nil` followed by a description why this function failed (usually `no inventory`).
 - `getStackInSlot(side:​number,​ slot:​number):​table`  ​ - `getStackInSlot(side:​number,​ slot:​number):​table`  ​
-Returns a table describing the item in the specified slot or nil.  ​+ 
 +Returns a table describing the item in the specified slot or nil. Deprecated for getting info about robot'​s own inventory, see `getStackInInternalSlot`.  ​
 **side** - must be a valid side.  ​ **side** - must be a valid side.  ​
 **slot** - the slot to analyze. This does not check the inventory size and will consider slots outside the inventory bounds to be empty.  ​ **slot** - the slot to analyze. This does not check the inventory size and will consider slots outside the inventory bounds to be empty.  ​
Line 24: Line 25:
   - **size**:​number - the current stack size of the item.   - **size**:​number - the current stack size of the item.
   - **maxSize**:​number - the maximum stack size of this item.   - **maxSize**:​number - the maximum stack size of this item.
-  - **id**:​number - the Minecraft id of the item. Note that this depends on the server'​s config setting ​and can vary between servers!+  - **id**:​number - the Minecraft id of the item. Note that this field is only included if `insertIdsInConverters=true` in the configs, ​and can vary between servers!
   - **name**:​string - the **untranslated** item name, which is an internal Minecraft value like `oc:​item.FloppyDisk`   - **name**:​string - the **untranslated** item name, which is an internal Minecraft value like `oc:​item.FloppyDisk`
 +  - **label**:​string - the **translated** item name
   - **hasTag**:​boolean - whether or not the item has an NBT tag associated with it.   - **hasTag**:​boolean - whether or not the item has an NBT tag associated with it.
 +- `getStackInInternalSlot(slot:​number):​table`  ​
 +  Gets Itemstack description of item in specified or selected slot (if no input provided) of robot inventory.
 - `dropIntoSlot(side:​number,​ slot:​number[,​ count:​number]):​boolean[,​ string]`  ​ - `dropIntoSlot(side:​number,​ slot:​number[,​ count:​number]):​boolean[,​ string]`  ​
 Puts up to count items from the currently selected slot into the specified slot of the inventory at the specified side.  ​ Puts up to count items from the currently selected slot into the specified slot of the inventory at the specified side.  ​
Line 46: Line 50:
 **Returns:​** `true` if the items were swapped, `false` otherwise. This operation usually succeeds.  ​ **Returns:​** `true` if the items were swapped, `false` otherwise. This operation usually succeeds.  ​
 Note that you can put any kind of item into the robot'​s tool slot, not only tools, even items that the robot cannot use at all. Note that you can put any kind of item into the robot'​s tool slot, not only tools, even items that the robot cannot use at all.
 +- `store(side:​number,​ slot:​number,​ dbAddress:​string,​ dbSlot:​number):​boolean`  ​
 +  Stores the Itemstack description of the item from the specified slot in an inventory on the specified side, into a specified database slot with the specified address.
 +- `storeInternal(slot:​number,​ dbAddress:​string,​ dBslot:​number):​boolean`  ​
 +  Stores Itemstack description of item in specified robot inventory slot into specified database slot with the specified database address.
 +- `compareToDatabase(slot:​number,​ dBaddress:​string,​ dBslot:​number):​boolean`  ​
 +  Compare Itemstack description in specified slot with one in specified slot of a database with specified address. Returns **true** if items match.
 +- `compareStacks(side:​number,​ slotA:​number,​ slotB:​number):​boolean`  ​
 +  Checks to see if Itemstack descriptions in specified slotA and slotB of inventory on specified side match. Returns **true** if identical.
 +- `getSlotMaxStackSize(side:​number,​ slot:​number):​number`  ​
 +  Gets maximum number of items in specified slot in inventory on the specified side.
 +- `getSlotStackSize(side:​number,​ slot:​number):​number`  ​
 +  Gets number of items in specified slot in inventory on the specified side.
 +
  
 Example: Example:
  
-If there is an item in **slot** prints it's name, damage value and count, else print that the slot is empty.+Print meta-info about the item in the position indicated by [[http://​ocdoc.cil.li/​api:​robot|slot]]
  
 ```lua ```lua
Line 55: Line 72:
 local sides = require("​sides"​) local sides = require("​sides"​)
    
--- get information about the item in <​slot>​ of the robot'​s own inventory 
 local slot = 1 local slot = 1
-local item = component.inventory_controller.getStackInSlot(sides.back, ​slot)+local item = component.inventory_controller.getStackInInternalSlot(slot)
    
 if item then if item then