80LK (обсуждение | вклад) м |
|||
(не показано 18 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
− | <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">ToolLib - Библиотека, предоставляющая универсальные типы инструментов и упрощающая создание инструментов. |
− | + | == Загрузка == | |
− | {| border="1" cellpadding="1" cellspacing="1" style="width: | + | {| border="1" cellpadding="1" cellspacing="1" style="width: 579px;" |
|- | |- | ||
− | | style="width: | + | | style="width: 68px; text-align: center;" | '''Версия''' |
− | | style="width: | + | | style="width: 81px; text-align: center;" | '''Скачать''' |
+ | | style="width: 305px; text-align: center;" | '''Изменения''' | ||
+ | | style="width: 100px; text-align: center;" | '''Дата выхода''' | ||
|- | |- | ||
− | | style="width: | + | | style="width: 68px; text-align: center;" | '''23''' |
− | | style="width: | + | | style="width: 81px; text-align: center;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/toollib-v23 Скачать] |
+ | | style="width: 305px;" | - Поддержка мультиплеера | ||
+ | | style="width: 100px; text-align: center;" | 27.12.20 | ||
+ | |- | ||
+ | | style="width: 68px; text-align: center;" | '''22''' | ||
+ | | style="width: 81px; text-align: center;" | - | ||
+ | | style="width: 305px;" | - Топоры могут делать обтёсанную древесину<br/> - Исправления ошибок | ||
+ | | style="width: 100px; text-align: center;" | 24.08.20 | ||
+ | |- | ||
+ | | style="width: 68px; text-align: center;" | '''21''' | ||
+ | | style="width: 81px; text-align: center;" | - | ||
+ | | style="width: 305px;" | - Добавлен enum MiningLevel | ||
+ | | style="width: 100px; text-align: center;" | 11.07.20 | ||
|} | |} | ||
− | + | == <br/> Документация == | |
− | |||
− | == Документация == | ||
=== Подключение === | === Подключение === | ||
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода: | Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода: | ||
− | <syntaxhighlight lang="JavaScript">IMPORT(" | + | <syntaxhighlight lang="JavaScript">IMPORT("ToolLib");</syntaxhighlight> |
После этого вам станет доступен весь функционал библиотеки. | После этого вам станет доступен весь функционал библиотеки. | ||
− | === | + | === Добавление инструмента === |
+ | |||
+ | Для регистрации инструмента используется метод ToolLib.setTool(ItemID, toolMaterial, toolType) | ||
+ | <syntaxhighlight lang="JavaScript">ToolLib.setTool(ItemID.myTool, "wood", ToolType.axe); | ||
+ | </syntaxhighlight> | ||
− | + | Так же вместо названия материала может напрямую быть передан объект с его свойствами. | |
− | |||
− | + | Материалы инструментов регистрируются методом 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, // Увеличение базового урона инструмента данным материалом |
− | enchantability: 14 | + | enchantability: 14 // Зачаровываемость, чем выше, тем более хорошие чары будут при зачаровании |
− | });</syntaxhighlight> | + | }); |
+ | </syntaxhighlight> | ||
+ | |||
+ | === Уровни добычи === | ||
+ | |||
+ | Библиотека позволяет вместо чисел использовать константы для уровней блоков и инструментов: | ||
+ | |||
+ | MiningLevel.STONE = 1 - камень<br/> MiningLevel.IRON = 2 - железная руда<br/> MiningLevel.DIAMOND = 3 - алмазная руда<br/> MiningLevel.OBSIDIAN = 4 - обсидиан | ||
− | + | === Стандартные типы инструментов === | |
− | |||
− | + | ToolType.sword - меч<br/> ToolType.shovel - лопата<br/> ToolType.pickaxe - кирка<br/> ToolType.axe - топор<br/> ToolType.hoe - мотыга | |
− | < | ||
− | === Создание своего типа | + | === Создание своего типа инструментов === |
− | | + | Тип инструмента - это объект, содержащий свойства и функции инструмента. Библиотека поддерживает все параметры инструмента, указываемые ToolAPI.registerTool, а также добавляет новые. |
<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"], // Материалы блоков, которые может ломать инструмент |
− | + | useItem: function(coords, item, block, player) { // Функция клика по блоку | |
− | + | if (item.data > 0) { | |
− | + | Entity.setCarriedItem(player, item.id, 1, item.data - 1, item.extra); // Починить инструмент на 1 | |
− | + | } | |
} | } | ||
− | }</syntaxhighlight> | + | } </syntaxhighlight> |
+ | |||
+ | === Все методы === | ||
− | + | // Скоро будут добавлены | |
− | + | </div> </div> </div> </div> |
Версия | Скачать | Изменения | Дата выхода |
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 // Зачаровываемость, чем выше, тем более хорошие чары будут при зачаровании
});
Библиотека позволяет вместо чисел использовать константы для уровней блоков и инструментов:
MiningLevel.STONE = 1 - камень
MiningLevel.IRON = 2 - железная руда
MiningLevel.DIAMOND = 3 - алмазная руда
MiningLevel.OBSIDIAN = 4 - обсидиан
ToolType.sword - меч
ToolType.shovel - лопата
ToolType.pickaxe - кирка
ToolType.axe - топор
ToolType.hoe - мотыга
Тип инструмента - это объект, содержащий свойства и функции инструмента. Библиотека поддерживает все параметры инструмента, указываемые ToolAPI.registerTool, а также добавляет новые.
ToolType.myType = {
enchantType: Native.EnchantType.pickaxe, //Тип чар для инструмента
damage: 2, // Базовый урон инструмента
blockTypes: ["dirt", "stone", "test"], // Материалы блоков, которые может ломать инструмент
useItem: function(coords, item, block, player) { // Функция клика по блоку
if (item.data > 0) {
Entity.setCarriedItem(player, item.id, 1, item.data - 1, item.extra); // Починить инструмент на 1
}
}
}
// Скоро будут добавлены