Строка 58: | Строка 58: | ||
<syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight> | <syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight> | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
=== Типы инструментов === | === Типы инструментов === | ||
Строка 66: | Строка 67: | ||
Создание своего типа инструментов | Создание своего типа инструментов | ||
<syntaxhighlight lang="JavaScript">ToolType.myType = { | <syntaxhighlight lang="JavaScript">ToolType.myType = { | ||
− | enchantType: Native.EnchantType.pickaxe,//Тип чар для | + | enchantType: Native.EnchantType.pickaxe, //Тип чар для инструмента |
− | damage: 2,// Базовый урон инструмента | + | damage: 2, // Базовый урон инструмента |
− | blockTypes: ["dirt", "stone", "test"], //Материалы блоков, которые может ломать инструмент | + | blockTypes: ["dirt", "stone", "test"], // Материалы блоков, которые может ломать инструмент |
onAttack: function(item){ | onAttack: function(item){ | ||
if(item.data > Item.getMaxDamage(item.id)){ | if(item.data > Item.getMaxDamage(item.id)){ | ||
Строка 75: | Строка 76: | ||
} | } | ||
} </syntaxhighlight> | } </syntaxhighlight> | ||
− | </div> </div> </div> | + | </div> </div> </div></div> |
+ | |||
=== Все методы === | === Все методы === | ||
// Скоро будут добавлены | // Скоро будут добавлены | ||
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> |
ToolAPI - API позваляющий регистрировать инструменты.
ToolLib - Библиотека, предоставляющая универсальные типы инструментов и содержащая несколько вспомогательных методов для работы с инструментами и блоками.
Версия | Скачать |
20 | Скачать |
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:
IMPORT("ToolLib");
После этого вам станет доступен весь функционал библиотеки.
Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, toolMaterial, toolType)
ToolAPI.setTool(ItemID.myTool, "wood", ToolType.axe);
Так же вместо названия материала может напрямую быть передан объект с его свойствами.
Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params)
ToolAPI.addToolMaterial("dirt", {
durability: 3, // Прочность (Сколько блоков можно сломать)
level: 1, // Уровень инструмента, влияет на блоки которые инструмент может ломать
efficiency: 10, // Эффективность - модификатор скорости ломания блока
damage: 1, // Увеличение базового урона инструмента данным материалом
enchantability: 14 // Зачаровываемость, чем выше, тем более хорошие чары будут при зачаровании
});
Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);
ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1);
Уровни блоков:
1 - камень
2 - железная руда
3 - алмазная руда
4 - обсидиан
Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);
ToolAPI.addBlockMaterial("test", 3);
Cтандартные типы:
ToolType.sword - меч
ToolType.shovel - лопата
ToolType.pickaxe - кирка
ToolType.axe - топор
ToolType.hoe - мотыга
Создание своего типа инструментов
ToolType.myType = {
enchantType: Native.EnchantType.pickaxe, //Тип чар для инструмента
damage: 2, // Базовый урон инструмента
blockTypes: ["dirt", "stone", "test"], // Материалы блоков, которые может ломать инструмент
onAttack: function(item){
if(item.data > Item.getMaxDamage(item.id)){
item.id = item.data = item.count = 0;
}
}
}
// Скоро будут добавлены