Для регистрации инструмента используется метод ToolAPI.registerTool(id, toolMaterial, blockMaterials, params)
toolMaterial - название материала инструмента или объект его описания
blockMaterials - массив с типами блоков, которые может добыть инструмент
params - дополнительные параметры и функции инструмента
<syntaxhighlight lang="JavaScript">ToolAPI.registerTool(ItemID.myPickaxe, "wood", ["stone"], { damage: 1, // Базовый урон инструмента, brokenId: 0, // Id предмета, который установится вместо инструмента при ломании isWeapon: false, // Является ли инструмент оружием (влияет на уменьшение прочности) // Действие при атаке onAttack: function(item, victim, attacker) { return true; // возврат true предотвращает повреждение инструмента }, // Действие при разрушении блока onDestroy: function(item, coords, block, player) { return true; }, // Расчёт времени разрушения блока инструментом calcDestroyTime: function(toolData, coords, block, params, destroyTime, enchantData) { return 0; } } </syntaxhighlight>
Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params)
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", { durability: 15, // Прочность (сколько блоков можно сломать) level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть. efficiency: 10, // Эффективность - модификатор скорости ломания блока damage: 1 // Урон от материала (складывается с базовым уроном) });</syntaxhighlight>
Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);
blockMaterial - материал блока.
level - уровень добычи
<syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1); </syntaxhighlight>
Уровни добычи блоков из майнкрафта:
1 - камень
2 - железная руда
3 - алмазная руда
4 - обсидиан
По умолчанию доступны следующие материалы:
"stone" - каменный,
"wood" - деревянный,
"dirt" - земляной,
"plant" - растения,
"fibre" - паутина,
"unbreaking" - неломаемый
Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);
blockMaterial - название материала.
breakingMultiplier - модификатор времени ломания блока при добыче без подходящего инструмента.
<syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight>