| (не показаны 3 промежуточные версии 1 участника) | |||
| Строка 1: | Строка 1: | ||
| − | ToolAPI - это API, позваляющий& | + | <div class="mw-parser-output">ToolAPI - это API, позваляющий регистрировать инструменты и добываемые ими блоки.<h3> Добавление инструмента </h3> |
| − | < | + | <p>Для регистрации инструмента используется метод ToolAPI.registerTool(id, toolMaterial, blockMaterials, params)<br /> <i>toolMaterial </i>- название материала инструмента или объект его описания<br /> <i>blockMaterials </i>- массив с типами блоков, которые может добыть инструмент<br /> <i>params </i>- дополнительные параметры и функции инструмента |
| − | < | + | <pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="JavaScript">ToolAPI.registerTool(ItemID.myPickaxe, "wood", ["stone"], { |
| − | |||
| − | |||
| − | Для регистрации инструмента используется метод ToolAPI.registerTool(id, toolMaterial, blockMaterials, params)<br/> | ||
| − | <syntaxhighlight lang="JavaScript">ToolAPI.registerTool(ItemID.myPickaxe, | ||
damage: 1, // Базовый урон инструмента, | damage: 1, // Базовый урон инструмента, | ||
brokenId: 0, // Id предмета, который установится вместо инструмента при ломании | brokenId: 0, // Id предмета, который установится вместо инструмента при ломании | ||
| Строка 12: | Строка 8: | ||
onAttack: function(item, victim, attacker) { | onAttack: function(item, victim, attacker) { | ||
return true; // возврат true предотвращает повреждение инструмента | return true; // возврат true предотвращает повреждение инструмента | ||
| − | } | + | }, |
// Действие при разрушении блока | // Действие при разрушении блока | ||
onDestroy: function(item, coords, block, player) { | onDestroy: function(item, coords, block, player) { | ||
return true; | return true; | ||
| − | } | + | }, |
// Расчёт времени разрушения блока инструментом | // Расчёт времени разрушения блока инструментом | ||
calcDestroyTime: function(toolData, coords, block, params, destroyTime, enchantData) { | calcDestroyTime: function(toolData, coords, block, params, destroyTime, enchantData) { | ||
| Строка 22: | Строка 18: | ||
} | } | ||
} | } | ||
| − | </syntaxhighlight> | + | </syntaxhighlight></pre> |
| − | + | </p><p>Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params) | |
| − | Для регистрации нового материала инструментов используется метод& | + | <pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", { |
| − | <syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial( | ||
durability: 15, // Прочность (сколько блоков можно сломать) | durability: 15, // Прочность (сколько блоков можно сломать) | ||
level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть. | level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть. | ||
efficiency: 10, // Эффективность - модификатор скорости ломания блока | efficiency: 10, // Эффективность - модификатор скорости ломания блока | ||
| − | damage: 1 | + | damage: 1 // Урон от материала (складывается с базовым уроном) |
| − | });</syntaxhighlight> | + | });</syntaxhighlight></pre> |
| − | </ | + | </p> |
| − | + | <h3> Регистрация блоков </h3> | |
| − | + | <p>Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);<br /> <i>blockMaterial </i>- материал блока.<br /> <i>level </i>- уровень добычи | |
| − | + | <pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1); | |
| − | Для регистрации блока используется метод& | + | </syntaxhighlight></pre> |
| − | <syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID.myBlock, | + | </p><p>Уровни добычи блоков из майнкрафта:<br /> 1 - камень<br /> 2 - железная руда<br /> 3 - алмазная руда<br /> 4 - обсидиан |
| − | </syntaxhighlight> | + | </p><p>По умолчанию доступны следующие материалы:<br /> "stone" - каменный,<br /> "wood" - деревянный,<br /> "dirt" - земляной,<br /> "plant" - растения,<br /> "fibre" - паутина,<br /> "unbreaking" - неломаемый |
| − | + | </p><p>Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);<br /> <i>blockMaterial </i>- название материала.<br /> <i>breakingMultiplier </i>- модификатор времени ломания блока при добыче без подходящего инструмента. | |
| − | Уровни добычи блоков из майнкрафта:<br/> 1 - камень<br/> 2 - железная руда<br/> 3 - алмазная руда<br/> 4 - обсидиан | + | <pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight></pre> |
| − | + | </p></div> | |
| − | По умолчанию доступны следующие материалы:<br/> "stone" - каменный,<br/> "wood" - деревянный,<br/> "dirt" - земляной,<br/> "plant" - растения,<br/> "fibre" - паутина,<br/> "unbreaking" - неломаемый | ||
| − | |||
| − | Для регистрации материала блока используется метод& | ||
| − | <syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial( | ||
Для регистрации инструмента используется метод 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>