This is the component that let your machine interact with items, basically it add an inventory to your machine.
Each Item Component add 1 slot to the machine inventory and each slot can held 1 stack of item but you can add as many components as you want.
You can add as much item component as you want.
Item Component must be defined by "type": "custommachinery:item".
Properties
The item component has 2 mandatory properties and 7 optional properties.
Mandatory properties
"type": "custommachinery:item" //Mandatory to define an item component.
Id
Name : id
Description :
A string that define the id of the slot (used in gui element and recipes), the string must be all lowercase with letters and numbers only (no spaces or special characters).
Example :
"id": "slot1"
Optional properties
Capacity
Name : capacity
Description :
A positive integer value that define the maximum number of item that you can put in the slot.
This does not override the item stack size (if you set the slot capacity to 100 items will still stack by 64 or less). This is used to decrease the available stack size, not increase it.
Default : 64
Example :
"capacity": 4 //Any item that will be put in the slot will have a maximum stack size of 4 items (or less if the item max stack size is less like tools and armors).
Filter
Name : filter
Description :
A blacklist of items that the slot can't accept.
The items must be referenced by their registry name like minecraft:diamond or minecraft:stone.
You can also use a tag here using the # prefix like #minecraft:logs
The slot will accept all items but Minecraft diamond and items in the minecraft:logs tag.
Whitelist
Name : whitelist
Description :
A boolean, if true the filter property will act as a whitelist instead of a blacklist, meaning that the slot will only accept items specified in the filter property.
Default : false
The filter property is a blacklist.
Example :
"whitelist": true //The filter property is a whitelist.
Mode
Name : mode
Description :
The IO mode of the slot, used only by recipes to know which slots are inputs and outputs.
Available modes are (input/output/both/none).
While crafting the machine will search for items to consume in input slots and put the recipe results in the output slots.
For changing I/O mode of a slot for external interaction, such as hoppers and pipes see the Config property below.
Default : both
Example :
"mode": "input" //Set the slot as an input slot.
Variant
Name : variant
Description :
Item components can have differents behaviours, a basic item slot, a furnace fuel slot, an upgrade slot... These behaviours are defined in this variant property. Addons can adds their own variants but the current existing variants are :