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

Строка 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"><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"><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>'''''Ожидает заполнения, Волк там где-то спит, скоро закончит. Или не скоро, пинайте [https://vk.com/yu_80lk его].'''''</u><br/> ToolAPI - API позваляющая регистрировать инструменты.<br/> ToolType -&nbsp;Библиотека, предоставляющая универсальные типы инструментов и содержащая некоторые доработки и фиксы ошибок в ToolAPI.
+
ToolAPI - API позваляющий&nbsp;регистрировать инструменты.<br/> ToolLib -&nbsp;Библиотека, предоставляющая универсальные типы инструментов и содержащая несколько вспомогательных методов для работы с инструментами и блоками.
  
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 223px;"
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 223px;"
Строка 7: Строка 7:
 
| style="width: 127px; text-align: center;" | '''Скачать'''
 
| style="width: 127px; text-align: center;" | '''Скачать'''
 
|-
 
|-
| style="width: 83px; text-align: center;" | '''3'''
+
| style="width: 83px; text-align: center;" | '''20'''
| style="width: 127px; text-align: center;" | [https://vk.com/doc-80513593_486896691 Скачать]
+
| style="width: 127px; text-align: center;" | [https://drive.google.com/file/d/1obV7as1BOKHV04U6D3st6JXeSraWl54H/view?usp=sharing Скачать]
 
|}
 
|}
  
Строка 18: Строка 18:
  
 
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
 
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
<syntaxhighlight lang="JavaScript">IMPORT("ToolType");</syntaxhighlight>
+
<syntaxhighlight lang="JavaScript">IMPORT("ToolLib");</syntaxhighlight>
  
 
После этого вам станет доступен весь функционал библиотеки.
 
После этого вам станет доступен весь функционал библиотеки.
  
=== Основные команды ===
+
=== Добавление инструмента ===
  
Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, materialTool, toolType)
+
Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, toolMaterial, toolType)
<syntaxhighlight lang="JavaScript">ToolAPI.setTool(ItemID["myTool"], "wood", ToolType.axe);</syntaxhighlight>
+
<syntaxhighlight lang="JavaScript">ToolAPI.setTool(ItemID.myTool, "wood", ToolType.axe);
 +
</syntaxhighlight>
  
Для регистрации нового материала инструментов используется метод&nbsp;ToolAPI.addToolMaterial(materialTool, params)
+
Так же вместо названия материала может напрямую быть передан объект с его свойствами.
 +
 
 +
Для регистрации нового материала инструментов используется метод&nbsp;ToolAPI.addToolMaterial(toolMaterial, params)
 
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", {
 
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", {
    durability: 3,//Долговечность(Сколько блоков можно сломать)
+
    durability: 3, // Прочность (Сколько блоков можно сломать)
    level: 1,//Уровень инструмента, влияет на блоки которые инструмент может ломать 
+
    level: 1, // Уровень инструмента, влияет на блоки которые инструмент может ломать
    efficiency: 10,//Эффективность, чем больше эффективность, тем быстрее ломается нужный блок
+
    efficiency: 10, // Эффективность - модификатор скорости ломания блока
    damage: 1,//Урон наносимый инструментами данного материала
+
    damage: 1, // Увеличение базового урона инструмента данным материалом
    enchantability: 14
+
    enchantability: 14 // Зачаровываемость, чем выше, тем более хорошие чары будут при зачаровании
});</syntaxhighlight>
+
});
 +
</syntaxhighlight>
 +
 
 +
=== Регистрация блока ===
 +
 
 +
Для регистрации блока используется метод&nbsp;ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);
 +
<syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1);</syntaxhighlight>
 +
 
 +
Уровни блоков:
 +
 
 +
1 - камень
 +
 
 +
2 - железная руда
 +
 
 +
3 - алмазная руда
  
Для регистрации блока используется метод&nbsp;ToolAPI.registerBlockMaterial(BlockID, materialBlock, level);
+
4 - обсидиан
<syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID["myBlock"], "stone", 1);</syntaxhighlight>
 
  
Для регистрации материала блока используется метод&nbsp;ToolAPI.addBlockMaterial(materialBlock, breakingMultiplier);
+
Для регистрации материала блока используется метод&nbsp;ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);
 
<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">
+
 
=== Создание своего типа инструмента ===
+
Cтандартные типы:
 +
 
 +
ToolType.sword - меч<br/> ToolType.shovel - лопата<br/> ToolType.pickaxe - кирка<br/> ToolType.axe - топор<br/> ToolType.hoe - мотыга
  
&nbsp;
+
Создание своего типа инструментов
 
<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){
Строка 57: Строка 75:
 
    }
 
    }
 
} </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>

Версия 21:30, 29 мая 2020

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

Все методы

// Скоро будут добавлены