ToolLib — различия между версиями

м
Строка 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"><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">
 +
<u>'''''Ожидает заполнения, Волк там где-то спит.'''''</u><br/> ToolAPI - API позваляющая регистрировать инструменты.<br/> ToolType -&nbsp;Библиотека, предоставляющая универсальные типы инструментов и содержащая некоторые доработки и фиксы ошибок в ToolAPI.
 +
 
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 223px;"
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 223px;"
 
|-
 
|-
Строка 9: Строка 11:
 
|}
 
|}
  
Ожидает заполнения, Волк там где-то спит.
+
== Документация ==
</div> </div> </div> </div>
+
 
 +
=== Подключение ===
 +
 
 +
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
 +
<syntaxhighlight lang="JavaScript">IMPORT("ToolType");</syntaxhighlight>
 +
 
 +
После этого вам станет доступен весь функционал библиотеки.
 +
 
 +
=== Основные команды ===
 +
 
 +
Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, materialTool, toolType)
 +
<syntaxhighlight lang="JavaScript">ToolAPI.setTool(ItemID["myTool"], "wood", ToolType.axe);</syntaxhighlight>
 +
 
 +
Для регистрации нового материала инструментов используется метод&nbsp;ToolAPI.addToolMaterial(materialTool, params)
 +
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", {
 +
    durability: 3,//Долговечность(Сколько блоков можно сломать)
 +
    level: 1,//Уровень инструмента, влияет на блоки которые инструмент может ломать 
 +
    efficiency: 10,//Эффективность, чем больше эффективность, тем быстрее ломается нужный блок
 +
    damage: 1,//Урон наносимый инструментами данного материала
 +
    enchantability: 14
 +
});</syntaxhighlight>
 +
 
 +
Для регистрации блока используется метод&nbsp;ToolAPI.registerBlockMaterial(BlockID, materialBlock, level);
 +
<syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID["myBlock"], "stone", 1);</syntaxhighlight>
 +
 
 +
Для регистрации материала блока используется метод&nbsp;ToolAPI.addBlockMaterial(materialBlock, breakingMultiplier);
 +
<syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight>
 +
 
 +
=== Создание своего типа инструмента ===
 +
<syntaxhighlight lang="JavaScript">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;
 +
        }
 +
    }
 +
}</syntaxhighlight>
 +
 
 +
&nbsp;
 +
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>

Версия 15:24, 7 января 2019

Ожидает заполнения, Волк там где-то спит.
ToolAPI - API позваляющая регистрировать инструменты.
ToolType - Библиотека, предоставляющая универсальные типы инструментов и содержащая некоторые доработки и фиксы ошибок в ToolAPI.

Версия Скачать
3 Скачать

Документация

Подключение

Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:

IMPORT("ToolType");

После этого вам станет доступен весь функционал библиотеки.

Основные команды

Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, materialTool, toolType)

ToolAPI.setTool(ItemID["myTool"], "wood", ToolType.axe);

Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(materialTool, params)

ToolAPI.addToolMaterial("dirt", {
    durability: 3,//Долговечность(Сколько блоков можно сломать)
    level: 1,//Уровень инструмента, влияет на блоки которые инструмент может ломать 
    efficiency: 10,//Эффективность, чем больше эффективность, тем быстрее ломается нужный блок
    damage: 1,//Урон наносимый инструментами данного материала
    enchantability: 14
});

Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, materialBlock, level);

ToolAPI.registerBlockMaterial(BlockID["myBlock"], "stone", 1);

Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(materialBlock, breakingMultiplier);

ToolAPI.addBlockMaterial("test", 3);

Создание своего типа инструмента

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;
        }
    }
}