Строка 36: | Строка 36: | ||
После этого вам станет доступен весь функционал библиотеки. | После этого вам станет доступен весь функционал библиотеки. | ||
+ | <div class="mw-parser-output"> | ||
=== Добавление инструмента === | === Добавление инструмента === | ||
Строка 46: | Строка 47: | ||
Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params) | Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params) | ||
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", { | <syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", { | ||
− | durability: | + | durability: 15, // Прочность (Сколько блоков можно сломать) |
− | level: 1, // Уровень инструмента, | + | level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть. |
efficiency: 10, // Эффективность - модификатор скорости ломания блока | efficiency: 10, // Эффективность - модификатор скорости ломания блока | ||
damage: 1, // Увеличение базового урона инструмента данным материалом | damage: 1, // Увеличение базового урона инструмента данным материалом | ||
Строка 53: | Строка 54: | ||
}); | }); | ||
</syntaxhighlight> | </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"><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> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> |
− | <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"><div class="mw-parser-output"><div class="mw-parser-output"> | + | |
− | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
=== Регистрация блока === | === Регистрация блока === | ||
ToolAPI - API позваляющий регистрировать инструменты.
ToolLib - Библиотека, предоставляющая универсальные типы инструментов и содержащая несколько вспомогательных методов для работы с инструментами и блоками.
Версия | Скачать | Изменения | Дата выхода |
23 | Скачать | - Поддержка мультиплеера | 27.12.20 |
22 | - | - Топоры могут делать обтёсанную древесину - Исправления ошибок |
24.08.20 |
21 | - | - Добавлен enum MiningLevel | 11.07.20 |
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:
IMPORT("ToolLib");
После этого вам станет доступен весь функционал библиотеки.
Для регистрации инструмента используется метод ToolLib.setTool(ItemID, toolMaterial, toolType)
ToolLib.setTool(ItemID.myTool, "wood", ToolType.axe);
Так же вместо названия материала может напрямую быть передан объект с его свойствами.
Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(toolMaterial, params)
ToolAPI.addToolMaterial("dirt", {
durability: 15, // Прочность (Сколько блоков можно сломать)
level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть.
efficiency: 10, // Эффективность - модификатор скорости ломания блока
damage: 1, // Увеличение базового урона инструмента данным материалом
enchantability: 14 // Зачаровываемость, чем выше, тем более хорошие чары будут при зачаровании
});
Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);
ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1);
Уровни добычи блоков можно задавать числами или используя константы из списка MiningLevel, добавляемого библиотекой:
MiningLevel.STONE = 1 - камень
MiningLevel.IRON = 2 - железная руда
MiningLevel.DIAMOND = 3 - алмазная руда
MiningLevel.OBSIDIAN = 4 - обсидиан
Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);
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;
}
}
}
// Скоро будут добавлены