An IItemDefinition object is the direct reference to an item.
It is different from an IItemStack as this only refers to the item, it does not include any meta-information or NBT-values!

Importing the package

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import.
import crafttweaker.item.IItemDefinition;

How to get one

The easiest way is from an IItemStack, but you can also get a list of all registered IItemDefinitions in the game and do something with that.

//IItemStack Zengetter "definition" -> single IItemDefinition
val itemDefinition = <minecraft:stone>.definition;

//IGame zengetter "items" -> LIST!
val itemDefinitionList = game.items;

What to do with it

ZenGetters and parameterless ZenMethods

ZenGetter What does it do Return Type
id Returns the item ID String
name Returns the unlocalized item Name String
ores Returns all ore entries containing this item. Can also contain ore entries that refer to a sub-item. List<[IOreDictEntry](/Vanilla/OreDict/IOreDictEntry/)>
owner Returns the mod name that this item belongs to. String
defaultInstance IItemStack
creativeTab ICreativeTab
creativeTabs ICreativeTab[]
canItemEditBlocks bool
itemEnchantability int
subItems List<IItemStack>

ZenSetters and other void-Methods

ZenSetter/ZenMethod Parameter Type
creativeTab ICreativeTab
setNoRepair() none
setContainerItem(IItemDefinition item) IItemDefinition